@agent-ui-kit/web-components 0.0.14 → 0.0.15

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 (151) hide show
  1. package/dist/agent-ui.css +1 -1
  2. package/dist/api.colors.json +2 -2
  3. package/dist/api.colors.yaml +2 -2
  4. package/dist/api.components.json +4570 -1641
  5. package/dist/api.tokens.json +34 -2
  6. package/dist/api.tokens.yaml +26 -2
  7. package/dist/chunks/{agent-C72JZNe6.js → agent-BF_R_HJk.js} +65 -61
  8. package/dist/chunks/{agent-C72JZNe6.js.map → agent-BF_R_HJk.js.map} +1 -1
  9. package/dist/chunks/{empty-state-5M3uR5CM.js → meter-Dju8ik6C.js} +1169 -934
  10. package/dist/chunks/meter-Dju8ik6C.js.map +1 -0
  11. package/dist/components/agent.js +6 -6
  12. package/dist/components/avatar/avatar.d.ts +0 -0
  13. package/dist/components/badge/badge.d.ts +0 -0
  14. package/dist/components/bar/bar.d.ts +0 -0
  15. package/dist/components/breadcrumb/breadcrumb.d.ts +2 -0
  16. package/dist/components/button-group/button-group.d.ts +0 -0
  17. package/dist/components/code/code.d.ts +0 -0
  18. package/dist/components/color-area/color-area.d.ts +2 -1
  19. package/dist/components/color-picker/color-picker.d.ts +1 -0
  20. package/dist/components/color-picker/oklch-utils.d.ts +18 -0
  21. package/dist/components/color-slider/color-slider.d.ts +1 -1
  22. package/dist/components/color-swatch/color-swatch.d.ts +0 -0
  23. package/dist/components/content/content.d.ts +0 -0
  24. package/dist/components/description-list/description-list.d.ts +0 -0
  25. package/dist/components/divider/divider.d.ts +0 -0
  26. package/dist/components/editor.js +1 -1
  27. package/dist/components/fieldset/fieldset.d.ts +0 -0
  28. package/dist/components/footer/footer.d.ts +0 -0
  29. package/dist/components/graph.js +1 -1
  30. package/dist/components/grid/grid.d.ts +0 -0
  31. package/dist/components/header/header.d.ts +0 -0
  32. package/dist/components/heading/heading.d.ts +0 -0
  33. package/dist/components/input-group/input-group.d.ts +0 -0
  34. package/dist/components/inset/inset.d.ts +0 -0
  35. package/dist/components/kbd/kbd.d.ts +0 -0
  36. package/dist/components/stack/stack.d.ts +0 -0
  37. package/dist/components/stat/stat.d.ts +4 -0
  38. package/dist/components/text/text.d.ts +0 -0
  39. package/dist/components/time-field/time-field.d.ts +1 -0
  40. package/dist/components/wrap/wrap.d.ts +0 -0
  41. package/dist/components.js +114 -127
  42. package/dist/components.js.map +1 -1
  43. package/dist/docs/blocks/login-two-column.yaml +6 -6
  44. package/dist/docs/blocks/profile-card.yaml +5 -5
  45. package/dist/docs/components/accordion-item.yaml +13 -21
  46. package/dist/docs/components/accordion.yaml +23 -29
  47. package/dist/docs/components/agent-activity.yaml +27 -39
  48. package/dist/docs/components/agent-feed.yaml +15 -22
  49. package/dist/docs/components/agent-input.yaml +238 -0
  50. package/dist/docs/components/agent-message.yaml +29 -48
  51. package/dist/docs/components/agent-panel.yaml +21 -24
  52. package/dist/docs/components/agent-prompt.yaml +28 -46
  53. package/dist/docs/components/agent-seeds.yaml +15 -23
  54. package/dist/docs/components/agent-text.yaml +14 -24
  55. package/dist/docs/components/agent-thread.yaml +15 -24
  56. package/dist/docs/components/alert.yaml +41 -39
  57. package/dist/docs/components/avatar-group.yaml +72 -45
  58. package/dist/docs/components/avatar.yaml +99 -0
  59. package/dist/docs/components/badge.yaml +110 -0
  60. package/dist/docs/components/bar.yaml +84 -0
  61. package/dist/docs/components/breadcrumb-item.yaml +8 -17
  62. package/dist/docs/components/breadcrumb.yaml +60 -25
  63. package/dist/docs/components/button-group.yaml +93 -0
  64. package/dist/docs/components/button.yaml +177 -261
  65. package/dist/docs/components/calendar-picker.yaml +14 -34
  66. package/dist/docs/components/calendar-range-picker.yaml +11 -29
  67. package/dist/docs/components/calendar.yaml +11 -29
  68. package/dist/docs/components/canvas.yaml +44 -61
  69. package/dist/docs/components/checkbox.yaml +37 -49
  70. package/dist/docs/components/chip.yaml +88 -54
  71. package/dist/docs/components/code-block.yaml +54 -53
  72. package/dist/docs/components/code.yaml +37 -0
  73. package/dist/docs/components/color-area.yaml +119 -0
  74. package/dist/docs/components/color-field.yaml +121 -0
  75. package/dist/docs/components/color-picker.yaml +64 -38
  76. package/dist/docs/components/color-slider.yaml +153 -0
  77. package/dist/docs/components/color-swatch.yaml +98 -0
  78. package/dist/docs/components/command.yaml +13 -18
  79. package/dist/docs/components/container.yaml +83 -73
  80. package/dist/docs/components/content.yaml +100 -0
  81. package/dist/docs/components/context-menu.yaml +11 -20
  82. package/dist/docs/components/date-field.yaml +81 -33
  83. package/dist/docs/components/description-list.yaml +81 -0
  84. package/dist/docs/components/disclosure-group.yaml +61 -42
  85. package/dist/docs/components/disclosure.yaml +60 -46
  86. package/dist/docs/components/divider.yaml +63 -0
  87. package/dist/docs/components/dropdown-menu.yaml +16 -25
  88. package/dist/docs/components/feed.yaml +15 -24
  89. package/dist/docs/components/field.yaml +50 -71
  90. package/dist/docs/components/fieldset.yaml +92 -0
  91. package/dist/docs/components/footer.yaml +147 -0
  92. package/dist/docs/components/grid.yaml +87 -0
  93. package/dist/docs/components/gripper.yaml +11 -23
  94. package/dist/docs/components/header.yaml +168 -0
  95. package/dist/docs/components/heading.yaml +54 -0
  96. package/dist/docs/components/hover-card.yaml +17 -25
  97. package/dist/docs/components/icon.yaml +32 -65
  98. package/dist/docs/components/input-group.yaml +102 -0
  99. package/dist/docs/components/input-otp.yaml +20 -19
  100. package/dist/docs/components/input.yaml +92 -132
  101. package/dist/docs/components/inset.yaml +59 -0
  102. package/dist/docs/components/kbd.yaml +57 -0
  103. package/dist/docs/components/link.yaml +36 -45
  104. package/dist/docs/components/meter.yaml +27 -38
  105. package/dist/docs/components/nav-item.yaml +51 -40
  106. package/dist/docs/components/noodles.yaml +72 -104
  107. package/dist/docs/components/option.yaml +12 -23
  108. package/dist/docs/components/pagination.yaml +21 -18
  109. package/dist/docs/components/pane.yaml +18 -32
  110. package/dist/docs/components/panes.yaml +19 -27
  111. package/dist/docs/components/progress-circle.yaml +64 -55
  112. package/dist/docs/components/progress.yaml +35 -51
  113. package/dist/docs/components/radio-group.yaml +99 -40
  114. package/dist/docs/components/radio.yaml +40 -41
  115. package/dist/docs/components/range.yaml +24 -27
  116. package/dist/docs/components/segmented-control.yaml +58 -17
  117. package/dist/docs/components/select.yaml +80 -100
  118. package/dist/docs/components/skeleton.yaml +39 -39
  119. package/dist/docs/components/sparkline.yaml +28 -45
  120. package/dist/docs/components/spinner.yaml +32 -33
  121. package/dist/docs/components/stack.yaml +126 -0
  122. package/dist/docs/components/stepper.yaml +31 -38
  123. package/dist/docs/components/switch.yaml +36 -47
  124. package/dist/docs/components/tab-panel.yaml +27 -18
  125. package/dist/docs/components/tab.yaml +25 -22
  126. package/dist/docs/components/table-header.yaml +22 -12
  127. package/dist/docs/components/tabs.yaml +103 -20
  128. package/dist/docs/components/tag-group.yaml +63 -47
  129. package/dist/docs/components/text.yaml +67 -0
  130. package/dist/docs/components/textarea.yaml +43 -60
  131. package/dist/docs/components/time-field.yaml +74 -33
  132. package/dist/docs/components/toast.yaml +13 -30
  133. package/dist/docs/components/tooltip.yaml +56 -49
  134. package/dist/docs/components/tree-item.yaml +9 -10
  135. package/dist/docs/components/tree.yaml +127 -10
  136. package/dist/docs/components/wrap.yaml +60 -0
  137. package/dist/docs/traits/toggle-theme.yaml +34 -0
  138. package/dist/element.js +1 -1
  139. package/dist/icons.js +79 -59
  140. package/dist/icons.js.map +1 -1
  141. package/dist/reactivity.js +2 -2
  142. package/dist/register.d.ts +0 -1
  143. package/dist/register.js +258 -244
  144. package/dist/register.js.map +1 -1
  145. package/dist/store.js +1 -1
  146. package/dist/traits/toggle-theme/toggle-theme.d.ts +0 -0
  147. package/dist/traits/toggle-theme/toggle-theme.trait.d.ts +2 -0
  148. package/dist/traits.js +528 -485
  149. package/dist/traits.js.map +1 -1
  150. package/package.json +1 -1
  151. package/dist/chunks/empty-state-5M3uR5CM.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { A as d, s as V, u as P } from "./agent-C72JZNe6.js";
2
- import { o as K, g as _ } from "./registry-BNb5ABBs.js";
3
- class vt extends d {
1
+ import { A as d, l as J, u as N } from "./agent-BF_R_HJk.js";
2
+ import { o as Z, g as z } from "./registry-BNb5ABBs.js";
3
+ class Mt extends d {
4
4
  static attributes = {
5
5
  disabled: { type: "boolean", default: !1 },
6
6
  loading: { type: "boolean", default: !1 },
@@ -65,8 +65,8 @@ class vt extends d {
65
65
  (t.key === "Enter" || t.key === " ") && (t.preventDefault(), this.click());
66
66
  };
67
67
  }
68
- const Y = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><circle cx="116" cy="116" r="84" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="175.4" y1="175.4" x2="224" y2="224" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>', G = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><line x1="200" y1="56" x2="56" y2="200" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="200" y1="200" x2="56" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>';
69
- class gt extends d {
68
+ const Q = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><circle cx="116" cy="116" r="84" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="175.4" y1="175.4" x2="224" y2="224" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>', tt = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><line x1="200" y1="56" x2="56" y2="200" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="200" y1="200" x2="56" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>';
69
+ class Dt extends d {
70
70
  static formAssociated = !0;
71
71
  static attributes = {
72
72
  disabled: { type: "boolean", default: !1 },
@@ -91,8 +91,8 @@ class gt extends d {
91
91
  #n = null;
92
92
  #a = !1;
93
93
  #r = null;
94
- #h = null;
95
94
  #o = null;
95
+ #h = null;
96
96
  constructor() {
97
97
  super(), this.#e = this.attachInternals(), this.#e.role = "textbox";
98
98
  }
@@ -114,7 +114,7 @@ class gt extends d {
114
114
  }), this.addEffect(() => {
115
115
  const t = this.value;
116
116
  !this.#a && this.#t && this.#t.textContent !== t && (this.#t.textContent = t, this.#l());
117
- }), this.#t.addEventListener("input", this.#p), this.#t.addEventListener("keydown", this.#f), this.#t.addEventListener("focus", this.#v), this.#t.addEventListener("blur", this.#b), this.#t.addEventListener("paste", this.#c), this.addEventListener("click", this.#g), this.#i?.addEventListener("click", this.#m), this.autofocus && requestAnimationFrame(() => this.#t?.focus()), this.type === "number") {
117
+ }), this.#t.addEventListener("input", this.#c), this.#t.addEventListener("keydown", this.#f), this.#t.addEventListener("focus", this.#m), this.#t.addEventListener("blur", this.#b), this.#t.addEventListener("paste", this.#p), this.addEventListener("click", this.#A), this.#i?.addEventListener("click", this.#v), this.autofocus && requestAnimationFrame(() => this.#t?.focus()), this.type === "number") {
118
118
  if (this.querySelector('[data-input-stepper="down"]') ? this.#n = this.querySelector('[data-input-stepper="down"]') : (this.#n = document.createElement("span"), this.#n.setAttribute("data-input-stepper", "down"), this.#n.setAttribute("role", "button"), this.#n.setAttribute("tabindex", "-1"), this.#n.setAttribute("aria-label", "Decrease"), this.insertBefore(this.#n, this.#t)), this.querySelector('[data-input-stepper="up"]'))
119
119
  this.#s = this.querySelector('[data-input-stepper="up"]');
120
120
  else {
@@ -122,20 +122,20 @@ class gt extends d {
122
122
  const t = this.#t?.nextSibling ?? null;
123
123
  t ? this.insertBefore(this.#s, t) : this.appendChild(this.#s);
124
124
  }
125
- this.#n?.addEventListener("click", this.#y), this.#s?.addEventListener("click", this.#x);
125
+ this.#n?.addEventListener("click", this.#g), this.#s?.addEventListener("click", this.#E);
126
126
  }
127
127
  if (this.type === "search") {
128
- if (this.querySelector('[slot="leading"]') || (this.#r = document.createElement("span"), this.#r.setAttribute("slot", "leading"), this.#r.setAttribute("data-input-search-icon", ""), this.#r.innerHTML = Y, this.insertBefore(this.#r, this.firstChild)), !this["no-clear"] && !this.querySelector("[data-input-clear]")) {
129
- this.#h = document.createElement("span"), this.#h.setAttribute("data-input-clear", ""), this.#h.setAttribute("role", "button"), this.#h.setAttribute("tabindex", "-1"), this.#h.setAttribute("aria-label", "Clear"), this.#h.innerHTML = G;
128
+ if (this.querySelector('[slot="leading"]') || (this.#r = document.createElement("span"), this.#r.setAttribute("slot", "leading"), this.#r.setAttribute("data-input-search-icon", ""), this.#r.innerHTML = Q, this.insertBefore(this.#r, this.firstChild)), !this["no-clear"] && !this.querySelector("[data-input-clear]")) {
129
+ this.#o = document.createElement("span"), this.#o.setAttribute("data-input-clear", ""), this.#o.setAttribute("role", "button"), this.#o.setAttribute("tabindex", "-1"), this.#o.setAttribute("aria-label", "Clear"), this.#o.innerHTML = tt;
130
130
  const t = this.querySelector('[slot="trailing"]');
131
- t ? this.insertBefore(this.#h, t) : this.appendChild(this.#h);
131
+ t ? this.insertBefore(this.#o, t) : this.appendChild(this.#o);
132
132
  } else
133
- this.#h = this.querySelector("[data-input-clear]");
134
- this.#h?.addEventListener("click", this.#k);
133
+ this.#o = this.querySelector("[data-input-clear]");
134
+ this.#o?.addEventListener("click", this.#k);
135
135
  }
136
136
  }
137
137
  dispose() {
138
- this.#t?.removeEventListener("input", this.#p), this.#t?.removeEventListener("keydown", this.#f), this.#t?.removeEventListener("focus", this.#v), this.#t?.removeEventListener("blur", this.#b), this.#t?.removeEventListener("paste", this.#c), this.removeEventListener("click", this.#g), this.#i?.removeEventListener("click", this.#m), this.#n?.removeEventListener("click", this.#y), this.#s?.removeEventListener("click", this.#x), this.#h?.removeEventListener("click", this.#k), this.#o && clearTimeout(this.#o);
138
+ this.#t?.removeEventListener("input", this.#c), this.#t?.removeEventListener("keydown", this.#f), this.#t?.removeEventListener("focus", this.#m), this.#t?.removeEventListener("blur", this.#b), this.#t?.removeEventListener("paste", this.#p), this.removeEventListener("click", this.#A), this.#i?.removeEventListener("click", this.#v), this.#n?.removeEventListener("click", this.#g), this.#s?.removeEventListener("click", this.#E), this.#o?.removeEventListener("click", this.#k), this.#h && clearTimeout(this.#h);
139
139
  }
140
140
  // ── Public API ──────────────────────────────────────────
141
141
  focus(t) {
@@ -199,7 +199,7 @@ class gt extends d {
199
199
  t && t.setPosition(this.#t, 0);
200
200
  }
201
201
  // ── Event handlers ────────────────────────────────────
202
- #p = () => {
202
+ #c = () => {
203
203
  this.#a = !0, this.value = this.#t?.textContent ?? "", this.#e.setFormValue(this.value || null), this.#l(), this.#a = !1, this.dispatchEvent(new Event("input", { bubbles: !0, composed: !0 })), this.type === "search" && this.#C();
204
204
  };
205
205
  #f = (t) => {
@@ -213,11 +213,11 @@ class gt extends d {
213
213
  }
214
214
  if (this.type === "number") {
215
215
  if (t.key === "ArrowUp") {
216
- t.preventDefault(), this.#A(1);
216
+ t.preventDefault(), this.#y(1);
217
217
  return;
218
218
  }
219
219
  if (t.key === "ArrowDown") {
220
- t.preventDefault(), this.#A(-1);
220
+ t.preventDefault(), this.#y(-1);
221
221
  return;
222
222
  }
223
223
  }
@@ -226,7 +226,7 @@ class gt extends d {
226
226
  (this.#t?.textContent?.length ?? 0) >= e && t.key.length === 1 && !t.ctrlKey && !t.metaKey && (window.getSelection()?.toString() || t.preventDefault());
227
227
  }
228
228
  };
229
- #v = () => {
229
+ #m = () => {
230
230
  this.#u();
231
231
  };
232
232
  #b = () => {
@@ -242,7 +242,7 @@ class gt extends d {
242
242
  }
243
243
  this.dispatchEvent(new Event("change", { bubbles: !0 }));
244
244
  };
245
- #c = (t) => {
245
+ #p = (t) => {
246
246
  t.preventDefault();
247
247
  let e = t.clipboardData?.getData("text/plain") ?? "";
248
248
  if (e = e.replace(/[\r\n]+/g, " "), this.maxlength) {
@@ -251,34 +251,34 @@ class gt extends d {
251
251
  }
252
252
  document.execCommand("insertText", !1, e);
253
253
  };
254
- #g = (t) => {
254
+ #A = (t) => {
255
255
  const e = t.target;
256
256
  e === this || e.getAttribute("slot") === "leading" ? (this.#t?.focus(), this.#u()) : e === this.#t && this.#u();
257
257
  };
258
- #m = (t) => {
258
+ #v = (t) => {
259
259
  t.stopPropagation(), this.#t && (this.#t.textContent = ""), this.value = "", this.#e.setFormValue(null), this.#l(), this.#t?.focus(), this.dispatchEvent(new Event("input", { bubbles: !0, composed: !0 })), this.dispatchEvent(new Event("change", { bubbles: !0 }));
260
260
  };
261
261
  // ── Number stepper ──────────────────────────────────────
262
- #A(t) {
262
+ #y(t) {
263
263
  const e = parseFloat(this.value) || 0, i = parseFloat(this.getAttribute("step") || "1"), s = this.hasAttribute("min") ? parseFloat(this.getAttribute("min")) : -1 / 0, n = this.hasAttribute("max") ? parseFloat(this.getAttribute("max")) : 1 / 0, a = Math.min(n, Math.max(s, e + t * i)), r = String(a);
264
264
  this.value = r, this.#t && (this.#t.textContent = r), this.#e.setFormValue(r), this.#l(), this.dispatchEvent(new Event("input", { bubbles: !0, composed: !0 })), this.dispatchEvent(new Event("change", { bubbles: !0 }));
265
265
  }
266
- #x = (t) => {
267
- t.stopPropagation(), this.#A(1);
266
+ #E = (t) => {
267
+ t.stopPropagation(), this.#y(1);
268
268
  };
269
- #y = (t) => {
270
- t.stopPropagation(), this.#A(-1);
269
+ #g = (t) => {
270
+ t.stopPropagation(), this.#y(-1);
271
271
  };
272
272
  // ── Search helpers ──────────────────────────────────────────
273
273
  #C() {
274
- this.#o && clearTimeout(this.#o);
274
+ this.#h && clearTimeout(this.#h);
275
275
  const t = parseInt(this.debounce, 10) || 200;
276
- this.#o = setTimeout(() => {
276
+ this.#h = setTimeout(() => {
277
277
  this.#w();
278
278
  }, t);
279
279
  }
280
280
  #w() {
281
- this.#o && (clearTimeout(this.#o), this.#o = null), this.dispatchEvent(new CustomEvent("search", {
281
+ this.#h && (clearTimeout(this.#h), this.#h = null), this.dispatchEvent(new CustomEvent("search", {
282
282
  bubbles: !0,
283
283
  composed: !0,
284
284
  detail: { value: this.value ?? "" }
@@ -288,7 +288,7 @@ class gt extends d {
288
288
  t.stopPropagation(), this.#t && (this.#t.textContent = ""), this.value = "", this.#e.setFormValue(null), this.#l(), this.#t?.focus(), this.#w();
289
289
  };
290
290
  }
291
- class yt extends d {
291
+ class It extends d {
292
292
  static formAssociated = !0;
293
293
  static attributes = {
294
294
  length: { type: "string", default: "6" },
@@ -314,11 +314,11 @@ class yt extends d {
314
314
  this.#e.setFormValue(this.value || null);
315
315
  }), this.value && this.#i(this.value);
316
316
  for (const e of this.#t)
317
- e.addEventListener("input", this.#a), e.addEventListener("keydown", this.#r), e.addEventListener("paste", this.#h), e.addEventListener("focus", this.#o);
317
+ e.addEventListener("input", this.#a), e.addEventListener("keydown", this.#r), e.addEventListener("paste", this.#o), e.addEventListener("focus", this.#h);
318
318
  }
319
319
  dispose() {
320
320
  for (const t of this.#t)
321
- t.removeEventListener("input", this.#a), t.removeEventListener("keydown", this.#r), t.removeEventListener("paste", this.#h), t.removeEventListener("focus", this.#o);
321
+ t.removeEventListener("input", this.#a), t.removeEventListener("keydown", this.#r), t.removeEventListener("paste", this.#o), t.removeEventListener("focus", this.#h);
322
322
  this.#t = [];
323
323
  }
324
324
  formDisabledCallback(t) {
@@ -353,21 +353,21 @@ class yt extends d {
353
353
  const e = t.target, i = this.#n(e);
354
354
  t.key === "Backspace" ? !e.textContent && i > 0 && (t.preventDefault(), this.#t[i - 1].textContent = "", this.#t[i - 1].focus(), this.#s()) : t.key === "ArrowLeft" && i > 0 ? (t.preventDefault(), this.#t[i - 1].focus()) : t.key === "ArrowRight" && i < this.#t.length - 1 ? (t.preventDefault(), this.#t[i + 1].focus()) : t.key === "Enter" && t.preventDefault();
355
355
  };
356
- #h = (t) => {
356
+ #o = (t) => {
357
357
  t.preventDefault();
358
358
  const i = (t.clipboardData?.getData("text") ?? "").replace(/\D/g, "").slice(0, this.#t.length);
359
359
  this.#i(i), this.#s();
360
360
  const s = Math.min(i.length, this.#t.length - 1);
361
361
  this.#t[s]?.focus();
362
362
  };
363
- #o = (t) => {
363
+ #h = (t) => {
364
364
  const e = t.target, i = document.createRange();
365
365
  i.selectNodeContents(e);
366
366
  const s = window.getSelection();
367
367
  s?.removeAllRanges(), s?.addRange(i);
368
368
  };
369
369
  }
370
- class At extends d {
370
+ class Tt extends d {
371
371
  static formAssociated = !0;
372
372
  static attributes = {
373
373
  disabled: { type: "boolean", default: !1 },
@@ -412,7 +412,7 @@ class At extends d {
412
412
  (t.key === " " || t.key === "Enter") && (t.preventDefault(), this.#t());
413
413
  };
414
414
  }
415
- class Et extends d {
415
+ class Pt extends d {
416
416
  static formAssociated = !0;
417
417
  static attributes = {
418
418
  disabled: { type: "boolean", default: !1 },
@@ -455,7 +455,7 @@ class Et extends d {
455
455
  (t.key === " " || t.key === "Enter") && (t.preventDefault(), this.#t());
456
456
  };
457
457
  }
458
- class xt extends d {
458
+ class qt extends d {
459
459
  static formAssociated = !0;
460
460
  static attributes = {
461
461
  disabled: { type: "boolean", default: !1 },
@@ -499,7 +499,7 @@ class xt extends d {
499
499
  (t.key === " " || t.key === "Enter") && (t.preventDefault(), this.#t());
500
500
  };
501
501
  }
502
- class wt extends d {
502
+ class Ft extends d {
503
503
  static attributes = {
504
504
  disabled: { type: "boolean", default: !1 },
505
505
  name: { type: "string", default: "" },
@@ -551,7 +551,7 @@ class wt extends d {
551
551
  s >= 0 && (e[s].click(), e[s].focus());
552
552
  };
553
553
  }
554
- class kt extends d {
554
+ class Rt extends d {
555
555
  static formAssociated = !0;
556
556
  static attributes = {
557
557
  disabled: { type: "boolean", default: !1 },
@@ -581,10 +581,10 @@ class kt extends d {
581
581
  }), this.addEffect(() => {
582
582
  const t = this.value;
583
583
  !this.#i && this.#t && this.#t.textContent !== t && (this.#t.textContent = t, this.#n(), this.autogrow && this.#a());
584
- }), this.#t.addEventListener("input", this.#r), this.#t.addEventListener("blur", this.#h), this.addEventListener("click", this.#o), this.autofocus && requestAnimationFrame(() => this.#t?.focus());
584
+ }), this.#t.addEventListener("input", this.#r), this.#t.addEventListener("blur", this.#o), this.addEventListener("click", this.#h), this.autofocus && requestAnimationFrame(() => this.#t?.focus());
585
585
  }
586
586
  dispose() {
587
- this.#t?.removeEventListener("input", this.#r), this.#t?.removeEventListener("blur", this.#h), this.removeEventListener("click", this.#o), this.#s !== null && cancelAnimationFrame(this.#s);
587
+ this.#t?.removeEventListener("input", this.#r), this.#t?.removeEventListener("blur", this.#o), this.removeEventListener("click", this.#h), this.#s !== null && cancelAnimationFrame(this.#s);
588
588
  }
589
589
  focus(t) {
590
590
  this.#t?.focus(t);
@@ -614,14 +614,14 @@ class kt extends d {
614
614
  #r = () => {
615
615
  this.#i = !0, this.value = this.#t?.textContent ?? "", this.#e.setFormValue(this.value || null), this.#n(), this.autogrow && this.#a(), this.#i = !1, this.dispatchEvent(new Event("input", { bubbles: !0, composed: !0 }));
616
616
  };
617
- #h = () => {
617
+ #o = () => {
618
618
  this.dispatchEvent(new Event("change", { bubbles: !0 }));
619
619
  };
620
- #o = (t) => {
620
+ #h = (t) => {
621
621
  t.target === this && this.#t?.focus();
622
622
  };
623
623
  }
624
- class Ct extends d {
624
+ class Ot extends d {
625
625
  static attributes = {
626
626
  bordered: { type: "boolean", default: !1 },
627
627
  elevation: { type: "string", default: "" },
@@ -641,11 +641,11 @@ class Ct extends d {
641
641
  (t.key === "Enter" || t.key === " ") && this.href && (t.preventDefault(), window.location.href = this.href);
642
642
  };
643
643
  }
644
- function j(h) {
645
- const t = getComputedStyle(h).getPropertyValue("--aui-duration").trim();
644
+ function et(o) {
645
+ const t = getComputedStyle(o).getPropertyValue("--aui-duration").trim();
646
646
  return parseFloat(t) || 200;
647
647
  }
648
- class Lt extends d {
648
+ class Nt extends d {
649
649
  static attributes = {
650
650
  open: { type: "boolean", default: !1 },
651
651
  size: { type: "enum", values: ["sm", "lg", "xl", "full"], default: "" }
@@ -685,7 +685,7 @@ class Lt extends d {
685
685
  hide() {
686
686
  !this.#e || !this.#e.open || this.#i || (this.#i = !0, this.#e.removeAttribute("data-dialog-open"), this.#e.setAttribute("data-dialog-closing", ""), setTimeout(() => {
687
687
  this.#i = !1, this.#e?.removeAttribute("data-dialog-closing"), this.#e?.close();
688
- }, j(this)));
688
+ }, et(this)));
689
689
  }
690
690
  // ── Internal ────────────────────────────────────────────
691
691
  #n = (t) => {
@@ -698,11 +698,11 @@ class Lt extends d {
698
698
  t.target === this.#e && this.hide();
699
699
  };
700
700
  }
701
- function W(h) {
702
- const t = getComputedStyle(h).getPropertyValue("--aui-duration").trim();
701
+ function it(o) {
702
+ const t = getComputedStyle(o).getPropertyValue("--aui-duration").trim();
703
703
  return parseFloat(t) || 200;
704
704
  }
705
- class St extends d {
705
+ class zt extends d {
706
706
  static attributes = {
707
707
  open: { type: "boolean", default: !1 },
708
708
  side: { type: "enum", values: ["left", "right", "top", "bottom"], default: "right" },
@@ -742,7 +742,7 @@ class St extends d {
742
742
  hide() {
743
743
  !this.#e || !this.#e.open || this.#i || (this.#i = !0, this.#e.removeAttribute("data-drawer-open"), this.#e.setAttribute("data-drawer-closing", ""), setTimeout(() => {
744
744
  this.#i = !1, this.#e?.removeAttribute("data-drawer-closing"), this.#e?.close(), this["scroll-lock"] && !document.querySelector("dialog[open]") && (document.documentElement.style.overflow = "");
745
- }, W(this)));
745
+ }, it(this)));
746
746
  }
747
747
  #n = (t) => {
748
748
  t.preventDefault(), this.hide();
@@ -754,8 +754,8 @@ class St extends d {
754
754
  t.target === this.#e && this.hide();
755
755
  };
756
756
  }
757
- const q = /* @__PURE__ */ new Map();
758
- class Dt extends d {
757
+ const H = /* @__PURE__ */ new Map();
758
+ class Ht extends d {
759
759
  static attributes = {
760
760
  name: { type: "string", default: "" },
761
761
  src: { type: "string", default: "" },
@@ -772,24 +772,27 @@ class Dt extends d {
772
772
  }), this.addEffect(() => {
773
773
  if (this.#t) return;
774
774
  const t = this.name;
775
- t ? this.#i(t) : this.src && this.#s(this.src);
776
- }), this.#e = K(() => {
775
+ t ? this.#s(t) : this.src && this.#n(this.src);
776
+ }), this.#e = Z(() => {
777
777
  if (this.#t) return;
778
778
  const t = this.name;
779
- t && !this.querySelector("svg") && this.#i(t);
779
+ t && !this.querySelector("svg") && this.#s(t);
780
780
  });
781
781
  }
782
782
  dispose() {
783
- this.#e?.(), this.#e = null;
784
- }
785
- #i(t) {
786
- const e = _(t);
787
- e && this.#n(e);
783
+ this.#e?.(), this.#e = null, this.#i && (clearTimeout(this.#i), this.#i = null);
788
784
  }
789
- async #s(t) {
790
- const e = q.get(t);
785
+ #i = null;
786
+ #s(t) {
787
+ const e = z(t);
788
+ e ? (this.#a(e), this.#i && (clearTimeout(this.#i), this.#i = null)) : this.src || (this.#i && clearTimeout(this.#i), this.#i = setTimeout(() => {
789
+ !z(t) && !this.querySelector("svg") && console.warn(`[aui-icon] Icon "${t}" not found in registry. Register it with registerIcons({ ${t}: svgString }).`), this.#i = null;
790
+ }, 2e3));
791
+ }
792
+ async #n(t) {
793
+ const e = H.get(t);
791
794
  if (e) {
792
- this.#n(e);
795
+ this.#a(e);
793
796
  return;
794
797
  }
795
798
  try {
@@ -797,11 +800,11 @@ class Dt extends d {
797
800
  if (!i.ok) return;
798
801
  const s = await i.text();
799
802
  if (!s.includes("<svg")) return;
800
- q.set(t, s), this.src === t && this.#n(s);
803
+ H.set(t, s), this.src === t && this.#a(s);
801
804
  } catch {
802
805
  }
803
806
  }
804
- #n(t) {
807
+ #a(t) {
805
808
  const e = this.querySelector("svg");
806
809
  e && e.remove();
807
810
  const i = document.createElement("template");
@@ -810,7 +813,7 @@ class Dt extends d {
810
813
  s && this.prepend(s);
811
814
  }
812
815
  }
813
- class It extends d {
816
+ class $t extends d {
814
817
  static attributes = {
815
818
  content: { type: "string", default: "" },
816
819
  position: { type: "enum", values: ["top", "bottom", "left", "right"], default: "top" }
@@ -844,7 +847,7 @@ class It extends d {
844
847
  t.key === "Escape" && this.#n();
845
848
  };
846
849
  }
847
- class Mt extends d {
850
+ class Ut extends d {
848
851
  static formAssociated = !0;
849
852
  static attributes = {
850
853
  disabled: { type: "boolean", default: !1 },
@@ -888,7 +891,7 @@ class Mt extends d {
888
891
  this.removeAttribute("data-range-pressed"), this.removeEventListener("pointermove", this.#s), this.removeEventListener("pointerup", this.#n), this.dispatchEvent(new Event("change", { bubbles: !0 }));
889
892
  };
890
893
  #a(t) {
891
- const e = this.getBoundingClientRect(), i = Math.max(0, Math.min(1, (t.clientX - e.left) / e.width)), s = parseFloat(this.min) || 0, n = parseFloat(this.max) || 100, a = parseFloat(this.step) || 1, r = s + i * (n - s), o = Math.round(r / a) * a, l = Math.max(s, Math.min(n, o));
894
+ const e = this.getBoundingClientRect(), i = Math.max(0, Math.min(1, (t.clientX - e.left) / e.width)), s = parseFloat(this.min) || 0, n = parseFloat(this.max) || 100, a = parseFloat(this.step) || 1, r = s + i * (n - s), h = Math.round(r / a) * a, l = Math.max(s, Math.min(n, h));
892
895
  this.value = String(l), this.dispatchEvent(new Event("input", { bubbles: !0 }));
893
896
  }
894
897
  // ── Keyboard interaction ──────────────────────────────
@@ -923,7 +926,7 @@ class Mt extends d {
923
926
  t.preventDefault(), this.value = String(r), this.dispatchEvent(new Event("input", { bubbles: !0 })), this.dispatchEvent(new Event("change", { bubbles: !0 }));
924
927
  };
925
928
  }
926
- class Tt extends d {
929
+ class Bt extends d {
927
930
  static attributes = {
928
931
  orientation: { type: "enum", values: ["horizontal", "vertical"], default: "horizontal" },
929
932
  disabled: { type: "boolean", default: !1 }
@@ -934,10 +937,10 @@ class Tt extends d {
934
937
  activate() {
935
938
  this.setAttribute("role", "separator"), this.addEffect(() => {
936
939
  this.setAttribute("aria-orientation", this.orientation || "horizontal"), this.setAttribute("aria-disabled", String(this.disabled));
937
- }), this.hasAttribute("tabindex") || this.setAttribute("tabindex", "0"), this.addEventListener("pointerdown", this.#s), this.addEventListener("keydown", this.#h);
940
+ }), this.hasAttribute("tabindex") || this.setAttribute("tabindex", "0"), this.addEventListener("pointerdown", this.#s), this.addEventListener("keydown", this.#o);
938
941
  }
939
942
  dispose() {
940
- this.removeEventListener("pointerdown", this.#s), this.removeEventListener("keydown", this.#h), this.#r();
943
+ this.removeEventListener("pointerdown", this.#s), this.removeEventListener("keydown", this.#o), this.#r();
941
944
  }
942
945
  #s = (t) => {
943
946
  this.disabled || (t.preventDefault(), this.#e = t.clientX, this.#t = t.clientY, this.#i = !0, this.setPointerCapture(t.pointerId), this.setAttribute("data-gripper-dragging", ""), this.addEventListener("pointermove", this.#n), this.addEventListener("pointerup", this.#a), this.addEventListener("pointercancel", this.#a), this.dispatchEvent(new CustomEvent("aui:resize-start", { bubbles: !0 })));
@@ -958,7 +961,7 @@ class Tt extends d {
958
961
  #r() {
959
962
  this.#i = !1, this.removeAttribute("data-gripper-dragging"), this.removeEventListener("pointermove", this.#n), this.removeEventListener("pointerup", this.#a), this.removeEventListener("pointercancel", this.#a);
960
963
  }
961
- #h = (t) => {
964
+ #o = (t) => {
962
965
  if (this.disabled) return;
963
966
  const e = this.orientation !== "vertical", i = t.shiftKey ? 10 : 1;
964
967
  let s = 0;
@@ -975,7 +978,7 @@ class Tt extends d {
975
978
  }));
976
979
  };
977
980
  }
978
- class Pt extends d {
981
+ class Vt extends d {
979
982
  static attributes = {
980
983
  value: { type: "string", default: "" },
981
984
  disabled: { type: "boolean", default: !1 },
@@ -992,7 +995,7 @@ class Pt extends d {
992
995
  });
993
996
  }
994
997
  }
995
- class qt extends d {
998
+ class Kt extends d {
996
999
  static attributes = {
997
1000
  label: { type: "string", default: "" },
998
1001
  disabled: { type: "boolean", default: !1 },
@@ -1007,17 +1010,17 @@ class qt extends d {
1007
1010
  });
1008
1011
  }
1009
1012
  }
1010
- const X = '<svg viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><polyline points="48,80 128,160 208,80" fill="none" stroke="currentColor" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/></svg>', J = '<svg viewBox="0 0 256 256" fill="currentColor" width="1em" height="1em"><circle cx="128" cy="128" r="16"/><circle cx="64" cy="128" r="16"/><circle cx="192" cy="128" r="16"/></svg>', O = { 0: 0, low: 0, 1: 1, normal: 1, 2: 2, high: 2, pin: 999 }, Z = ":is(aui-option, aui-button, button, [tabindex]):not([disabled]):not([data-overflow-trigger])", Q = ":is(aui-option, aui-button, button, [tabindex]):not([disabled])";
1011
- function H(h) {
1012
- return h === "AUI-OPTION";
1013
+ const st = '<svg viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><polyline points="48,80 128,160 208,80" fill="none" stroke="currentColor" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/></svg>', nt = '<svg viewBox="0 0 256 256" fill="currentColor" width="1em" height="1em"><circle cx="128" cy="128" r="16"/><circle cx="64" cy="128" r="16"/><circle cx="192" cy="128" r="16"/></svg>', $ = { 0: 0, low: 0, 1: 1, normal: 1, 2: 2, high: 2, pin: 999 }, at = ":is(aui-option, aui-button, button, [tabindex]):not([disabled]):not([data-overflow-trigger])", rt = ":is(aui-option, aui-button, button, [tabindex]):not([disabled])";
1014
+ function _(o) {
1015
+ return o === "AUI-OPTION";
1013
1016
  }
1014
- function tt(h) {
1015
- return h === "AUI-OPTGROUP";
1017
+ function ot(o) {
1018
+ return o === "AUI-OPTGROUP";
1016
1019
  }
1017
- function F(h) {
1018
- return H(h.tagName) || tt(h.tagName);
1020
+ function U(o) {
1021
+ return _(o.tagName) || ot(o.tagName);
1019
1022
  }
1020
- class Ot extends d {
1023
+ class _t extends d {
1021
1024
  static formAssociated = !0;
1022
1025
  static attributes = {
1023
1026
  mode: { type: "enum", values: ["bar", "list", "combobox"], default: "" },
@@ -1044,21 +1047,21 @@ class Ot extends d {
1044
1047
  #a = null;
1045
1048
  #r = null;
1046
1049
  // ── Bar mode state ───────────────────────────────────────
1047
- #h = null;
1048
1050
  #o = null;
1051
+ #h = null;
1049
1052
  #l = null;
1050
1053
  #d = null;
1051
1054
  #u = null;
1052
- #p = null;
1055
+ #c = null;
1053
1056
  // ── List mode state ──────────────────────────────────────
1054
1057
  #f = -1;
1055
- #v = "";
1058
+ #m = "";
1056
1059
  #b = null;
1057
1060
  // ── Combobox mode state ──────────────────────────────────
1058
- #c = null;
1059
- #g = null;
1060
- #m = null;
1061
- #A = [];
1061
+ #p = null;
1062
+ #A = null;
1063
+ #v = null;
1064
+ #y = [];
1062
1065
  constructor() {
1063
1066
  super(), this.#e = this.attachInternals();
1064
1067
  }
@@ -1068,10 +1071,10 @@ class Ot extends d {
1068
1071
  activate() {
1069
1072
  switch (this.mode) {
1070
1073
  case "bar":
1071
- this.#N();
1074
+ this.#z();
1072
1075
  break;
1073
1076
  case "list":
1074
- this.#ot();
1077
+ this.#ht();
1075
1078
  break;
1076
1079
  case "combobox":
1077
1080
  this.#pt();
@@ -1101,14 +1104,14 @@ class Ot extends d {
1101
1104
  this.disabled = t;
1102
1105
  }
1103
1106
  formResetCallback() {
1104
- this.value = "", this.#c && (this.#c.textContent = "");
1107
+ this.value = "", this.#p && (this.#p.textContent = "");
1105
1108
  }
1106
1109
  // ════════════════════════════════════════════════════════════
1107
1110
  // Public API
1108
1111
  // ════════════════════════════════════════════════════════════
1109
1112
  /** Get all option elements (including inside groups). */
1110
1113
  get options() {
1111
- return this.mode === "" || this.mode === void 0 ? Array.from(this.#r?.querySelectorAll("aui-option") ?? []) : this.mode === "combobox" ? Array.from(this.#m?.querySelectorAll("aui-option") ?? []) : Array.from(this.querySelectorAll("aui-option"));
1114
+ return this.mode === "" || this.mode === void 0 ? Array.from(this.#r?.querySelectorAll("aui-option") ?? []) : this.mode === "combobox" ? Array.from(this.#v?.querySelectorAll("aui-option") ?? []) : Array.from(this.querySelectorAll("aui-option"));
1112
1115
  }
1113
1116
  /** Get enabled options. */
1114
1117
  get enabledOptions() {
@@ -1116,7 +1119,7 @@ class Ot extends d {
1116
1119
  }
1117
1120
  /** Get the currently active (highlighted) option. */
1118
1121
  get activeOption() {
1119
- return this.mode === "list" ? this.enabledOptions[this.#f] ?? null : (this.#r ?? this.#m)?.activeOption ?? null;
1122
+ return this.mode === "list" ? this.enabledOptions[this.#f] ?? null : (this.#r ?? this.#v)?.activeOption ?? null;
1120
1123
  }
1121
1124
  /** Internal listbox element (for dropdown mode). */
1122
1125
  get listboxElement() {
@@ -1130,21 +1133,21 @@ class Ot extends d {
1130
1133
  );
1131
1134
  e && !e.hasAttribute("disabled") && this.#H(e);
1132
1135
  } else
1133
- (this.#r ?? this.#m)?.selectValue?.(t);
1136
+ (this.#r ?? this.#v)?.selectValue?.(t);
1134
1137
  }
1135
1138
  /** Highlight a specific option by index (for external control). */
1136
1139
  highlightIndex(t) {
1137
- this.mode === "list" ? this.#S(t) : (this.#r ?? this.#m)?.highlightIndex?.(t);
1140
+ this.mode === "list" ? this.#S(t) : (this.#r ?? this.#v)?.highlightIndex?.(t);
1138
1141
  }
1139
1142
  /** Reset the active highlight. */
1140
1143
  clearHighlight() {
1141
- this.mode === "list" ? this.#G() : (this.#r ?? this.#m)?.clearHighlight?.();
1144
+ this.mode === "list" ? this.#Y() : (this.#r ?? this.#v)?.clearHighlight?.();
1142
1145
  }
1143
1146
  // ════════════════════════════════════════════════════════════
1144
1147
  // Shared popover helpers (dropdown + combobox)
1145
1148
  // ════════════════════════════════════════════════════════════
1146
- #x() {
1147
- const t = this.#a ?? this.#g;
1149
+ #E() {
1150
+ const t = this.#a ?? this.#A;
1148
1151
  if (!(!t || this.disabled)) {
1149
1152
  try {
1150
1153
  t.showPopover();
@@ -1162,27 +1165,27 @@ class Ot extends d {
1162
1165
  }
1163
1166
  }
1164
1167
  }
1165
- #y() {
1166
- const t = this.#a ?? this.#g;
1168
+ #g() {
1169
+ const t = this.#a ?? this.#A;
1167
1170
  if (!t) return;
1168
1171
  try {
1169
1172
  t.hidePopover();
1170
1173
  } catch {
1171
1174
  }
1172
- this.open = !1, (this.#r ?? this.#m)?.clearHighlight?.();
1175
+ this.open = !1, (this.#r ?? this.#v)?.clearHighlight?.();
1173
1176
  }
1174
1177
  // ════════════════════════════════════════════════════════════
1175
1178
  // MODE: Dropdown (default)
1176
1179
  // ════════════════════════════════════════════════════════════
1177
1180
  #C() {
1178
1181
  const t = `select-${crypto.randomUUID().slice(0, 8)}`;
1179
- this.#t = `--${t}`, this.#i = document.createElement("span"), this.#i.setAttribute("data-trigger", ""), this.#i.setAttribute("role", "combobox"), this.#i.setAttribute("aria-haspopup", "listbox"), this.#i.setAttribute("tabindex", "0"), this.#i.id = t, this.#s = document.createElement("span"), this.#s.setAttribute("data-label", ""), this.#i.appendChild(this.#s), this.#n = document.createElement("span"), this.#n.setAttribute("data-chevron", ""), this.#n.innerHTML = X, this.#i.appendChild(this.#n), this.#a = document.createElement("div"), this.#a.setAttribute("popover", "manual"), this.#a.setAttribute("data-dropdown", ""), this.#r = document.createElement("aui-listbox"), this.#a.appendChild(this.#r);
1182
+ this.#t = `--${t}`, this.#i = document.createElement("span"), this.#i.setAttribute("data-trigger", ""), this.#i.setAttribute("role", "combobox"), this.#i.setAttribute("aria-haspopup", "listbox"), this.#i.setAttribute("tabindex", "0"), this.#i.id = t, this.#s = document.createElement("span"), this.#s.setAttribute("data-label", ""), this.#i.appendChild(this.#s), this.#n = document.createElement("span"), this.#n.setAttribute("data-chevron", ""), this.#n.innerHTML = st, this.#i.appendChild(this.#n), this.#a = document.createElement("div"), this.#a.setAttribute("popover", "manual"), this.#a.setAttribute("data-dropdown", ""), this.#r = document.createElement("aui-listbox"), this.#a.appendChild(this.#r);
1180
1183
  const e = Array.from(this.children);
1181
1184
  for (const i of e)
1182
- F(i) && this.#r.appendChild(i);
1185
+ U(i) && this.#r.appendChild(i);
1183
1186
  this.appendChild(this.#i), this.appendChild(this.#a), this.#i.style.anchorName = this.#t, this.style.setProperty("--_anchor", this.#t), this.addEffect(() => {
1184
- this.disabled ? this.#i.setAttribute("tabindex", "-1") : this.#i.setAttribute("tabindex", "0"), this.#i.setAttribute("aria-expanded", String(this.open)), this.#i.setAttribute("aria-disabled", String(this.disabled)), this.#e.setFormValue(this.value || null), this.#E();
1185
- }), this.#i.addEventListener("click", this.#L), this.#i.addEventListener("keydown", this.#M), this.#r.addEventListener("click", this.#w), this.#r.addEventListener("change", this.#T), this.#r.addEventListener("keydown", this.#P), document.addEventListener("click", this.#D), this.value && (this.#r.value = this.value);
1187
+ this.disabled ? this.#i.setAttribute("tabindex", "-1") : this.#i.setAttribute("tabindex", "0"), this.#i.setAttribute("aria-expanded", String(this.open)), this.#i.setAttribute("aria-disabled", String(this.disabled)), this.#e.setFormValue(this.value || null), this.#x();
1188
+ }), this.#i.addEventListener("click", this.#L), this.#i.addEventListener("keydown", this.#I), this.#r.addEventListener("click", this.#w), this.#r.addEventListener("change", this.#T), this.#r.addEventListener("keydown", this.#P), document.addEventListener("click", this.#M), this.value && (this.#r.value = this.value);
1186
1189
  }
1187
1190
  #w = (t) => {
1188
1191
  const e = t.target.closest("aui-option");
@@ -1192,49 +1195,49 @@ class Ot extends d {
1192
1195
  e.selected = !0, this.value = e.value ?? e.getAttribute("value") ?? "", this.#r.dispatchEvent(new CustomEvent("change", {
1193
1196
  bubbles: !0,
1194
1197
  detail: { value: this.value, option: e }
1195
- })), this.#y();
1198
+ })), this.#g();
1196
1199
  }
1197
1200
  };
1198
1201
  #k() {
1199
- this.#i?.removeEventListener("click", this.#L), this.#i?.removeEventListener("keydown", this.#M), this.#r?.removeEventListener("click", this.#w), this.#r?.removeEventListener("change", this.#T), this.#r?.removeEventListener("keydown", this.#P), document.removeEventListener("click", this.#D), this.#y();
1202
+ this.#i?.removeEventListener("click", this.#L), this.#i?.removeEventListener("keydown", this.#I), this.#r?.removeEventListener("click", this.#w), this.#r?.removeEventListener("change", this.#T), this.#r?.removeEventListener("keydown", this.#P), document.removeEventListener("click", this.#M), this.#g();
1200
1203
  }
1201
- #E() {
1204
+ #x() {
1202
1205
  if (!this.#s) return;
1203
1206
  const t = this.#r?.querySelector("aui-option[selected]");
1204
1207
  t ? (this.#s.textContent = t.displayLabel ?? t.textContent?.trim() ?? "", this.#s.removeAttribute("data-placeholder")) : (this.#s.textContent = this.placeholder, this.#s.setAttribute("data-placeholder", ""));
1205
1208
  }
1206
1209
  #L = () => {
1207
- this.disabled || (this.open ? this.#y() : this.#x());
1210
+ this.disabled || (this.open ? this.#g() : this.#E());
1208
1211
  };
1209
- #M = (t) => {
1210
- t.key === "ArrowDown" || t.key === "ArrowUp" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.open || this.#x()) : t.key === "Escape" && this.#y();
1212
+ #I = (t) => {
1213
+ t.key === "ArrowDown" || t.key === "ArrowUp" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.open || this.#E()) : t.key === "Escape" && this.#g();
1211
1214
  };
1212
1215
  #T = (t) => {
1213
- t.stopPropagation(), this.value = t.detail.value, this.#e.setFormValue(this.value || null), this.#E(), this.#y(), this.#i?.focus(), this.dispatchEvent(new CustomEvent("change", { bubbles: !0, detail: t.detail }));
1216
+ t.stopPropagation(), this.value = t.detail.value, this.#e.setFormValue(this.value || null), this.#x(), this.#g(), this.#i?.focus(), this.dispatchEvent(new CustomEvent("change", { bubbles: !0, detail: t.detail }));
1214
1217
  };
1215
1218
  #P = (t) => {
1216
- t.key === "Escape" ? (t.preventDefault(), this.#y(), this.#i?.focus()) : t.key === "Tab" && this.#y();
1219
+ t.key === "Escape" ? (t.preventDefault(), this.#g(), this.#i?.focus()) : t.key === "Tab" && this.#g();
1217
1220
  };
1218
- #D = (t) => {
1219
- this.open && !this.contains(t.target) && this.#y();
1221
+ #M = (t) => {
1222
+ this.open && !this.contains(t.target) && this.#g();
1220
1223
  };
1221
1224
  // ════════════════════════════════════════════════════════════
1222
1225
  // MODE: Bar (toolbar)
1223
1226
  // ════════════════════════════════════════════════════════════
1224
- #N() {
1225
- this.setAttribute("role", "toolbar"), this.hasAttribute("aria-label") || this.setAttribute("aria-label", "Toolbar"), this.orientation && this.setAttribute("aria-orientation", this.orientation || "horizontal"), this.#h = document.createElement("span"), this.#h.setAttribute("data-overflow-trigger", ""), this.#h.setAttribute("role", "button"), this.#h.setAttribute("tabindex", "0"), this.#h.setAttribute("aria-label", "More actions"), this.#h.setAttribute("aria-haspopup", "true"), this.#h.innerHTML = J, this.appendChild(this.#h), this.#o = document.createElement("div"), this.#o.setAttribute("data-overflow-popover", ""), this.#o.setAttribute("popover", "auto"), this.#o.setAttribute("role", "menu"), this.appendChild(this.#o), this.#l = document.createElement("div"), this.#l.setAttribute("data-overflow-list", ""), this.#o.appendChild(this.#l), this.#h.addEventListener("click", this.#B), this.#h.addEventListener("keydown", this.#V), this.#l.addEventListener("click", this.#_), this.addEventListener("keydown", this.#Y), this.#O(), this.#d = new ResizeObserver(() => this.#F()), this.#d.observe(this), this.#u = new MutationObserver((t) => {
1227
+ #z() {
1228
+ this.setAttribute("role", "toolbar"), this.hasAttribute("aria-label") || this.setAttribute("aria-label", "Toolbar"), this.orientation && this.setAttribute("aria-orientation", this.orientation || "horizontal"), this.#o = document.createElement("span"), this.#o.setAttribute("data-overflow-trigger", ""), this.#o.setAttribute("role", "button"), this.#o.setAttribute("tabindex", "0"), this.#o.setAttribute("aria-label", "More actions"), this.#o.setAttribute("aria-haspopup", "true"), this.#o.innerHTML = nt, this.appendChild(this.#o), this.#h = document.createElement("div"), this.#h.setAttribute("data-overflow-popover", ""), this.#h.setAttribute("popover", "auto"), this.#h.setAttribute("role", "menu"), this.appendChild(this.#h), this.#l = document.createElement("div"), this.#l.setAttribute("data-overflow-list", ""), this.#h.appendChild(this.#l), this.#o.addEventListener("click", this.#B), this.#o.addEventListener("keydown", this.#V), this.#l.addEventListener("click", this.#_), this.addEventListener("keydown", this.#G), this.#F(), this.#d = new ResizeObserver(() => this.#R()), this.#d.observe(this), this.#u = new MutationObserver((t) => {
1226
1229
  for (const e of t)
1227
- if (!this.#o?.contains(e.target)) {
1228
- this.#F();
1230
+ if (!this.#h?.contains(e.target)) {
1231
+ this.#R();
1229
1232
  return;
1230
1233
  }
1231
- }), this.#u.observe(this, { childList: !0, subtree: !0 }), this.#F();
1234
+ }), this.#u.observe(this, { childList: !0, subtree: !0 }), this.#R();
1232
1235
  }
1233
1236
  #q() {
1234
- this.#p !== null && cancelAnimationFrame(this.#p), this.#d?.disconnect(), this.#u?.disconnect(), this.removeEventListener("keydown", this.#Y), this.#h?.removeEventListener("click", this.#B), this.#h?.removeEventListener("keydown", this.#V), this.#l?.removeEventListener("click", this.#_);
1237
+ this.#c !== null && cancelAnimationFrame(this.#c), this.#d?.disconnect(), this.#u?.disconnect(), this.removeEventListener("keydown", this.#G), this.#o?.removeEventListener("click", this.#B), this.#o?.removeEventListener("keydown", this.#V), this.#l?.removeEventListener("click", this.#_);
1235
1238
  }
1236
1239
  // ── Bar: Group dividers ───────────────────────────────
1237
- #O() {
1240
+ #F() {
1238
1241
  const t = Array.from(this.children);
1239
1242
  let e = !1;
1240
1243
  for (const i of t) {
@@ -1244,16 +1247,16 @@ class Ot extends d {
1244
1247
  const n = document.createElement("hr");
1245
1248
  n.setAttribute("data-group-divider", ""), this.insertBefore(n, i);
1246
1249
  }
1247
- (s || H(i.tagName)) && (e = s);
1250
+ (s || _(i.tagName)) && (e = s);
1248
1251
  }
1249
1252
  }
1250
1253
  // ── Bar: Measurement ───────────────────────────────────
1251
- #F() {
1252
- this.#p === null && (this.#p = requestAnimationFrame(() => {
1253
- this.#p = null, this.#it();
1254
+ #R() {
1255
+ this.#c === null && (this.#c = requestAnimationFrame(() => {
1256
+ this.#c = null, this.#it();
1254
1257
  }));
1255
1258
  }
1256
- #R() {
1259
+ #O() {
1257
1260
  return Array.from(this.children).filter(
1258
1261
  (t) => t instanceof HTMLElement && !t.hasAttribute("data-overflow-trigger") && !t.hasAttribute("data-overflow-popover")
1259
1262
  );
@@ -1263,65 +1266,65 @@ class Ot extends d {
1263
1266
  this.#nt();
1264
1267
  return;
1265
1268
  }
1266
- this.#u?.disconnect(), this.#h && this.#h.nextElementSibling !== this.#o && this.appendChild(this.#h), this.#o && this.#o !== this.lastElementChild && this.appendChild(this.#o);
1267
- const t = this.#R();
1269
+ this.#u?.disconnect(), this.#o && this.#o.nextElementSibling !== this.#h && this.appendChild(this.#o), this.#h && this.#h !== this.lastElementChild && this.appendChild(this.#h);
1270
+ const t = this.#O();
1268
1271
  if (t.length === 0) {
1269
- this.#I();
1272
+ this.#D();
1270
1273
  return;
1271
1274
  }
1272
- for (const c of t)
1273
- c.removeAttribute("data-select-overflow");
1275
+ for (const p of t)
1276
+ p.removeAttribute("data-select-overflow");
1274
1277
  this.removeAttribute("data-select-overflowing"), this.setAttribute("data-select-measuring", "");
1275
1278
  const e = getComputedStyle(this), i = parseFloat(e.gap) || 0, s = this.clientWidth - (parseFloat(e.paddingInlineStart) || 0) - (parseFloat(e.paddingInlineEnd) || 0);
1276
1279
  if (s <= 0) {
1277
- this.removeAttribute("data-select-measuring"), this.#I();
1280
+ this.removeAttribute("data-select-measuring"), this.#D();
1278
1281
  return;
1279
1282
  }
1280
1283
  const n = this.#st(t);
1281
1284
  let a = 0, r = 0;
1282
- for (const c of n)
1283
- for (const b of c.flexItems)
1284
- r > 0 && (a += i), a += b.offsetWidth, r++;
1285
+ for (const p of n)
1286
+ for (const m of p.flexItems)
1287
+ r > 0 && (a += i), a += m.offsetWidth, r++;
1285
1288
  if (a <= s + 1) {
1286
- this.removeAttribute("data-select-measuring"), this.#z(), this.#I();
1289
+ this.removeAttribute("data-select-measuring"), this.#N(), this.#D();
1287
1290
  return;
1288
1291
  }
1289
1292
  this.setAttribute("data-select-overflowing", "");
1290
- for (const c of n) {
1291
- let b = 0;
1292
- for (let v = 0; v < c.flexItems.length; v++)
1293
- v > 0 && (b += i), b += c.flexItems[v].offsetWidth;
1294
- c.width = b;
1293
+ for (const p of n) {
1294
+ let m = 0;
1295
+ for (let v = 0; v < p.flexItems.length; v++)
1296
+ v > 0 && (m += i), m += p.flexItems[v].offsetWidth;
1297
+ p.width = m;
1295
1298
  }
1296
1299
  this.removeAttribute("data-select-measuring");
1297
- const o = this.#h?.offsetWidth ?? 0, l = n.filter((c) => !c.pinned);
1300
+ const h = this.#o?.offsetWidth ?? 0, l = n.filter((p) => !p.pinned);
1298
1301
  if (l.length === 0) {
1299
- this.#z(), this.#I();
1302
+ this.#N(), this.#D();
1300
1303
  return;
1301
1304
  }
1302
- l.sort((c, b) => {
1303
- const v = O[c.priority] ?? 1, k = O[b.priority] ?? 1;
1304
- return v !== k ? v - k : b.index - c.index;
1305
+ l.sort((p, m) => {
1306
+ const v = $[p.priority] ?? 1, g = $[m.priority] ?? 1;
1307
+ return v !== g ? v - g : m.index - p.index;
1305
1308
  });
1306
- const u = /* @__PURE__ */ new Set();
1307
- let f = a;
1308
- const m = s - o - i;
1309
- for (const c of l) {
1310
- if (f <= m) break;
1311
- u.add(c.el), f -= c.width + i;
1312
- }
1313
- if (u.size === 0) {
1314
- this.removeAttribute("data-select-overflowing"), this.#z(), this.#I();
1309
+ const c = /* @__PURE__ */ new Set();
1310
+ let u = a;
1311
+ const f = s - h - i;
1312
+ for (const p of l) {
1313
+ if (u <= f) break;
1314
+ c.add(p.el), u -= p.width + i;
1315
+ }
1316
+ if (c.size === 0) {
1317
+ this.removeAttribute("data-select-overflowing"), this.#N(), this.#D();
1315
1318
  return;
1316
1319
  }
1317
- for (const c of u) {
1318
- c.setAttribute("data-select-overflow", "");
1319
- const b = c.previousElementSibling;
1320
- b?.hasAttribute("data-group-divider") && b.setAttribute("data-select-overflow", "");
1321
- const v = c.nextElementSibling;
1320
+ for (const p of c) {
1321
+ p.setAttribute("data-select-overflow", "");
1322
+ const m = p.previousElementSibling;
1323
+ m?.hasAttribute("data-group-divider") && m.setAttribute("data-select-overflow", "");
1324
+ const v = p.nextElementSibling;
1322
1325
  v?.hasAttribute("data-group-divider") && v.setAttribute("data-select-overflow", "");
1323
1326
  }
1324
- this.#at(), this.#I();
1327
+ this.#at(), this.#D();
1325
1328
  }
1326
1329
  #st(t) {
1327
1330
  const e = [];
@@ -1330,10 +1333,10 @@ class Ot extends d {
1330
1333
  if (s.tagName === "HR" || s.tagName === "AUI-DIVIDER") continue;
1331
1334
  const n = s.getAttribute("data-priority") ?? s.getAttribute("overflow-priority") ?? "normal", a = n, r = n === "pin" || s.hasAttribute("overflow-pin");
1332
1335
  if (s.tagName === "AUI-OPTGROUP") {
1333
- const o = [];
1336
+ const h = [];
1334
1337
  for (const l of s.children)
1335
- l instanceof HTMLElement && l.tagName !== "HR" && l.tagName !== "AUI-DIVIDER" && o.push(l);
1336
- e.push({ el: s, flexItems: o, priority: a, pinned: r, index: i, width: 0 });
1338
+ l instanceof HTMLElement && l.tagName !== "HR" && l.tagName !== "AUI-DIVIDER" && h.push(l);
1339
+ e.push({ el: s, flexItems: h, priority: a, pinned: r, index: i, width: 0 });
1337
1340
  } else
1338
1341
  e.push({ el: s, flexItems: [s], priority: a, pinned: r, index: i, width: 0 });
1339
1342
  }
@@ -1341,16 +1344,16 @@ class Ot extends d {
1341
1344
  }
1342
1345
  // ── Bar: Overflow menu ─────────────────────────────────
1343
1346
  #nt() {
1344
- for (const t of this.#R())
1347
+ for (const t of this.#O())
1345
1348
  t.removeAttribute("data-select-overflow");
1346
- this.removeAttribute("data-select-overflowing"), this.removeAttribute("data-select-measuring"), this.#z();
1349
+ this.removeAttribute("data-select-overflowing"), this.removeAttribute("data-select-measuring"), this.#N();
1347
1350
  }
1348
- #z() {
1351
+ #N() {
1349
1352
  this.#l && (this.#l.innerHTML = "");
1350
1353
  }
1351
1354
  #at() {
1352
- if (this.#z(), !this.#l) return;
1353
- const t = this.#R();
1355
+ if (this.#N(), !this.#l) return;
1356
+ const t = this.#O();
1354
1357
  let e = 0;
1355
1358
  for (const i of t)
1356
1359
  if (i.hasAttribute("data-select-overflow")) {
@@ -1360,19 +1363,19 @@ class Ot extends d {
1360
1363
  for (const a of i.children) {
1361
1364
  if (!(a instanceof HTMLElement) || a.tagName === "HR" || a.tagName === "AUI-DIVIDER" || a.hasAttribute("data-group-label")) continue;
1362
1365
  const r = document.createElement("aui-option");
1363
- r.textContent = this.#$(a), r.setAttribute("data-overflow-index", String(e)), s.appendChild(r), e++;
1366
+ r.textContent = this.#U(a), r.setAttribute("data-overflow-index", String(e)), s.appendChild(r), e++;
1364
1367
  }
1365
1368
  this.#l.appendChild(s);
1366
1369
  } else if (i.tagName !== "HR" && i.tagName !== "AUI-DIVIDER") {
1367
1370
  const s = document.createElement("aui-option");
1368
- s.textContent = this.#$(i), s.setAttribute("data-overflow-index", String(e)), this.#l.appendChild(s), e++;
1371
+ s.textContent = this.#U(i), s.setAttribute("data-overflow-index", String(e)), this.#l.appendChild(s), e++;
1369
1372
  }
1370
1373
  }
1371
1374
  }
1372
1375
  /** Flat list of overflowed source elements, in DOM order (for click dispatch). */
1373
1376
  #rt() {
1374
1377
  const t = [];
1375
- for (const e of this.#R())
1378
+ for (const e of this.#O())
1376
1379
  if (e.hasAttribute("data-select-overflow"))
1377
1380
  if (e.tagName === "AUI-OPTGROUP")
1378
1381
  for (const i of e.children)
@@ -1380,7 +1383,7 @@ class Ot extends d {
1380
1383
  else e.tagName !== "HR" && e.tagName !== "AUI-DIVIDER" && t.push(e);
1381
1384
  return t;
1382
1385
  }
1383
- #$(t) {
1386
+ #U(t) {
1384
1387
  const e = t.getAttribute("aria-label");
1385
1388
  if (e) return e;
1386
1389
  const i = t.getAttribute("label");
@@ -1390,43 +1393,43 @@ class Ot extends d {
1390
1393
  const n = t.getAttribute("icon");
1391
1394
  return n ? n.charAt(0).toUpperCase() + n.slice(1).replace(/-/g, " ") : "Action";
1392
1395
  }
1393
- #I() {
1396
+ #D() {
1394
1397
  this.#u?.observe(this, { childList: !0, subtree: !0 });
1395
1398
  }
1396
1399
  // ── Bar: Event handlers ────────────────────────────────
1397
1400
  #B = (t) => {
1398
- t.stopPropagation(), this.#K(), this.#o?.togglePopover();
1401
+ t.stopPropagation(), this.#K(), this.#h?.togglePopover();
1399
1402
  };
1400
1403
  #V = (t) => {
1401
1404
  const e = t;
1402
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), this.#K(), this.#o?.togglePopover());
1405
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), this.#K(), this.#h?.togglePopover());
1403
1406
  };
1404
1407
  #K() {
1405
- if (!this.#h || !this.#o) return;
1406
- const t = this.#h.getBoundingClientRect();
1407
- this.#o.style.top = `${t.bottom + 2}px`, this.#o.style.right = `${window.innerWidth - t.right}px`;
1408
+ if (!this.#o || !this.#h) return;
1409
+ const t = this.#o.getBoundingClientRect();
1410
+ this.#h.style.top = `${t.bottom + 2}px`, this.#h.style.right = `${window.innerWidth - t.right}px`;
1408
1411
  }
1409
1412
  #_ = (t) => {
1410
1413
  const e = t.target.closest("[data-overflow-index]");
1411
1414
  if (!e) return;
1412
1415
  const i = parseInt(e.getAttribute("data-overflow-index"), 10), s = this.#rt()[i];
1413
- s && s.click(), this.#o?.hidePopover();
1416
+ s && s.click(), this.#h?.hidePopover();
1414
1417
  };
1415
1418
  // ── Bar: Keyboard navigation ───────────────────────────
1416
- #ht() {
1417
- const t = [], e = this.hasAttribute("data-select-overflowing") ? Q : Z;
1418
- for (const i of this.#R())
1419
+ #ot() {
1420
+ const t = [], e = this.hasAttribute("data-select-overflowing") ? rt : at;
1421
+ for (const i of this.#O())
1419
1422
  if (!i.hasAttribute("data-select-overflow"))
1420
1423
  if (i.tagName === "AUI-OPTGROUP")
1421
1424
  for (const s of i.children)
1422
1425
  s instanceof HTMLElement && s.matches(e) && t.push(s);
1423
1426
  else i.matches(e) && t.push(i);
1424
- return this.#h && this.hasAttribute("data-select-overflowing") && t.push(this.#h), t;
1427
+ return this.#o && this.hasAttribute("data-select-overflowing") && t.push(this.#o), t;
1425
1428
  }
1426
- #Y = (t) => {
1429
+ #G = (t) => {
1427
1430
  const e = this.orientation === "vertical", i = e ? "ArrowDown" : "ArrowRight", s = e ? "ArrowUp" : "ArrowLeft";
1428
1431
  if (t.key !== i && t.key !== s && t.key !== "Home" && t.key !== "End") return;
1429
- const n = this.#ht();
1432
+ const n = this.#ot();
1430
1433
  if (n.length === 0) return;
1431
1434
  const a = n.indexOf(document.activeElement);
1432
1435
  let r;
@@ -1449,13 +1452,13 @@ class Ot extends d {
1449
1452
  // ════════════════════════════════════════════════════════════
1450
1453
  // MODE: List (standalone listbox)
1451
1454
  // ════════════════════════════════════════════════════════════
1452
- #ot() {
1455
+ #ht() {
1453
1456
  this.setAttribute("role", "listbox"), this.addEffect(() => {
1454
1457
  this.multiple ? this.setAttribute("aria-multiselectable", "true") : this.removeAttribute("aria-multiselectable");
1455
- }), this.value && this.#ut(), this.addEventListener("click", this.#j), this.addEventListener("keydown", this.#W), this.hasAttribute("tabindex") || this.setAttribute("tabindex", "0");
1458
+ }), this.value && this.#ct(), this.addEventListener("click", this.#j), this.addEventListener("keydown", this.#X), this.hasAttribute("tabindex") || this.setAttribute("tabindex", "0");
1456
1459
  }
1457
1460
  #lt() {
1458
- this.removeEventListener("click", this.#j), this.removeEventListener("keydown", this.#W), this.#b && clearTimeout(this.#b);
1461
+ this.removeEventListener("click", this.#j), this.removeEventListener("keydown", this.#X), this.#b && clearTimeout(this.#b);
1459
1462
  }
1460
1463
  // ── List: Selection ────────────────────────────────────
1461
1464
  #H(t) {
@@ -1482,7 +1485,7 @@ class Ot extends d {
1482
1485
  }
1483
1486
  this.#e.setFormValue(this.value || null);
1484
1487
  }
1485
- #ut() {
1488
+ #ct() {
1486
1489
  const t = this.value.split(",").map((e) => e.trim()).filter(Boolean);
1487
1490
  for (const e of this.options) {
1488
1491
  const i = e.getAttribute("value") ?? e.textContent?.trim() ?? "";
@@ -1493,11 +1496,11 @@ class Ot extends d {
1493
1496
  #S(t) {
1494
1497
  const e = this.enabledOptions;
1495
1498
  if (e.length === 0) return;
1496
- this.#G(), this.#f = Math.max(0, Math.min(t, e.length - 1));
1499
+ this.#Y(), this.#f = Math.max(0, Math.min(t, e.length - 1));
1497
1500
  const i = e[this.#f];
1498
1501
  i.setAttribute("data-navigate-active", ""), i.scrollIntoView({ block: "nearest" }), i.id && this.setAttribute("aria-activedescendant", i.id);
1499
1502
  }
1500
- #G() {
1503
+ #Y() {
1501
1504
  for (const t of this.options)
1502
1505
  t.removeAttribute("data-navigate-active");
1503
1506
  this.removeAttribute("aria-activedescendant");
@@ -1510,7 +1513,7 @@ class Ot extends d {
1510
1513
  const i = this.enabledOptions.indexOf(e);
1511
1514
  i >= 0 && this.#S(i);
1512
1515
  };
1513
- #W = (t) => {
1516
+ #X = (t) => {
1514
1517
  const e = this.enabledOptions;
1515
1518
  if (e.length !== 0)
1516
1519
  switch (t.key) {
@@ -1542,14 +1545,14 @@ class Ot extends d {
1542
1545
  break;
1543
1546
  }
1544
1547
  default:
1545
- t.key.length === 1 && !t.ctrlKey && !t.metaKey && this.#ct(t.key);
1548
+ t.key.length === 1 && !t.ctrlKey && !t.metaKey && this.#ut(t.key);
1546
1549
  }
1547
1550
  };
1548
- #ct(t) {
1549
- this.#v += t.toLowerCase(), this.#b && clearTimeout(this.#b), this.#b = setTimeout(() => {
1550
- this.#v = "";
1551
+ #ut(t) {
1552
+ this.#m += t.toLowerCase(), this.#b && clearTimeout(this.#b), this.#b = setTimeout(() => {
1553
+ this.#m = "";
1551
1554
  }, 500);
1552
- const i = this.enabledOptions.findIndex((s) => (s.displayLabel?.toLowerCase() ?? s.textContent?.trim().toLowerCase() ?? "").startsWith(this.#v));
1555
+ const i = this.enabledOptions.findIndex((s) => (s.displayLabel?.toLowerCase() ?? s.textContent?.trim().toLowerCase() ?? "").startsWith(this.#m));
1553
1556
  i >= 0 && this.#S(i);
1554
1557
  }
1555
1558
  // ════════════════════════════════════════════════════════════
@@ -1557,66 +1560,66 @@ class Ot extends d {
1557
1560
  // ════════════════════════════════════════════════════════════
1558
1561
  #pt() {
1559
1562
  const t = `combobox-${crypto.randomUUID().slice(0, 8)}`;
1560
- this.#t = `--${t}`, this.#c = document.createElement("span"), this.#c.setAttribute("data-input", ""), this.#c.setAttribute("contenteditable", "plaintext-only"), this.#c.setAttribute("role", "combobox"), this.#c.setAttribute("aria-haspopup", "listbox"), this.#c.setAttribute("aria-autocomplete", "list"), this.#c.setAttribute("tabindex", "0"), this.#c.id = t, this.#g = document.createElement("div"), this.#g.setAttribute("popover", "manual"), this.#g.setAttribute("data-dropdown", ""), this.#m = document.createElement("aui-listbox"), this.#m.id = `${t}-listbox`, this.#c.setAttribute("aria-controls", this.#m.id), this.#g.appendChild(this.#m);
1563
+ this.#t = `--${t}`, this.#p = document.createElement("span"), this.#p.setAttribute("data-input", ""), this.#p.setAttribute("contenteditable", "plaintext-only"), this.#p.setAttribute("role", "combobox"), this.#p.setAttribute("aria-haspopup", "listbox"), this.#p.setAttribute("aria-autocomplete", "list"), this.#p.setAttribute("tabindex", "0"), this.#p.id = t, this.#A = document.createElement("div"), this.#A.setAttribute("popover", "manual"), this.#A.setAttribute("data-dropdown", ""), this.#v = document.createElement("aui-listbox"), this.#v.id = `${t}-listbox`, this.#p.setAttribute("aria-controls", this.#v.id), this.#A.appendChild(this.#v);
1561
1564
  const e = Array.from(this.children);
1562
1565
  for (const i of e)
1563
- F(i) && this.#m.appendChild(i);
1564
- if (this.#A = Array.from(this.#m.querySelectorAll("aui-option")), this.appendChild(this.#c), this.appendChild(this.#g), this.#c.style.anchorName = this.#t, this.style.setProperty("--_anchor", this.#t), this.addEffect(() => {
1566
+ U(i) && this.#v.appendChild(i);
1567
+ if (this.#y = Array.from(this.#v.querySelectorAll("aui-option")), this.appendChild(this.#p), this.appendChild(this.#A), this.#p.style.anchorName = this.#t, this.style.setProperty("--_anchor", this.#t), this.addEffect(() => {
1565
1568
  const i = this.disabled;
1566
- this.#c.setAttribute("contenteditable", i ? "false" : "plaintext-only"), this.#c.setAttribute("tabindex", i ? "-1" : "0"), this.#c.setAttribute("aria-expanded", String(this.open)), this.#c.setAttribute("data-placeholder", this.placeholder || ""), this.#e.setFormValue(this.value || null);
1567
- const s = !this.#c.textContent?.trim();
1569
+ this.#p.setAttribute("contenteditable", i ? "false" : "plaintext-only"), this.#p.setAttribute("tabindex", i ? "-1" : "0"), this.#p.setAttribute("aria-expanded", String(this.open)), this.#p.setAttribute("data-placeholder", this.placeholder || ""), this.#e.setFormValue(this.value || null);
1570
+ const s = !this.#p.textContent?.trim();
1568
1571
  this.toggleAttribute("data-input-empty", s);
1569
1572
  }), this.value) {
1570
- const i = this.#A.find(
1573
+ const i = this.#y.find(
1571
1574
  (s) => (s.getAttribute("value") ?? s.textContent?.trim()) === this.value
1572
1575
  );
1573
- i && this.#c && (this.#c.textContent = i.displayLabel ?? i.textContent?.trim() ?? "");
1576
+ i && this.#p && (this.#p.textContent = i.displayLabel ?? i.textContent?.trim() ?? "");
1574
1577
  }
1575
- this.#c.addEventListener("input", this.#X), this.#c.addEventListener("focus", this.#J), this.#c.addEventListener("keydown", this.#Z), this.#m.addEventListener("change", this.#Q), this.#m.addEventListener("keydown", this.#tt), document.addEventListener("click", this.#et);
1578
+ this.#p.addEventListener("input", this.#W), this.#p.addEventListener("focus", this.#J), this.#p.addEventListener("keydown", this.#Z), this.#v.addEventListener("change", this.#Q), this.#v.addEventListener("keydown", this.#tt), document.addEventListener("click", this.#et);
1576
1579
  }
1577
1580
  #ft() {
1578
- this.#c?.removeEventListener("input", this.#X), this.#c?.removeEventListener("focus", this.#J), this.#c?.removeEventListener("keydown", this.#Z), this.#m?.removeEventListener("change", this.#Q), this.#m?.removeEventListener("keydown", this.#tt), document.removeEventListener("click", this.#et), this.#y();
1581
+ this.#p?.removeEventListener("input", this.#W), this.#p?.removeEventListener("focus", this.#J), this.#p?.removeEventListener("keydown", this.#Z), this.#v?.removeEventListener("change", this.#Q), this.#v?.removeEventListener("keydown", this.#tt), document.removeEventListener("click", this.#et), this.#g();
1579
1582
  }
1580
- #U(t) {
1583
+ #$(t) {
1581
1584
  const e = t.toLowerCase();
1582
- for (const s of this.#A) {
1585
+ for (const s of this.#y) {
1583
1586
  const n = s.displayLabel?.toLowerCase() ?? s.textContent?.trim().toLowerCase() ?? "";
1584
1587
  s.style.display = !e || n.includes(e) ? "" : "none";
1585
1588
  }
1586
- const i = this.#m?.querySelectorAll("aui-optgroup") ?? [];
1589
+ const i = this.#v?.querySelectorAll("aui-optgroup") ?? [];
1587
1590
  for (const s of i) {
1588
1591
  const n = s.querySelector('aui-option:not([style*="display: none"])');
1589
1592
  s.style.display = n ? "" : "none";
1590
1593
  }
1591
1594
  }
1592
- #X = () => {
1593
- this.open || this.#x(), this.#U(this.#c?.textContent ?? ""), this.toggleAttribute("data-input-empty", !this.#c?.textContent?.trim());
1595
+ #W = () => {
1596
+ this.open || this.#E(), this.#$(this.#p?.textContent ?? ""), this.toggleAttribute("data-input-empty", !this.#p?.textContent?.trim());
1594
1597
  };
1595
1598
  #J = () => {
1596
- this.#x(), this.#U(this.#c?.textContent ?? "");
1599
+ this.#E(), this.#$(this.#p?.textContent ?? "");
1597
1600
  };
1598
1601
  #Z = (t) => {
1599
1602
  if (t.key === "Enter") {
1600
1603
  t.preventDefault();
1601
- const i = this.#m?.activeOption;
1604
+ const i = this.#v?.activeOption;
1602
1605
  i && this.open && i.click();
1603
- } else t.key === "ArrowDown" ? (t.preventDefault(), this.open || this.#x(), this.#m?.focus()) : t.key === "Escape" && this.#y();
1606
+ } else t.key === "ArrowDown" ? (t.preventDefault(), this.open || this.#E(), this.#v?.focus()) : t.key === "Escape" && this.#g();
1604
1607
  };
1605
1608
  #Q = (t) => {
1606
- t.stopPropagation(), this.value = t.detail.value, this.#e.setFormValue(this.value || null), this.#c && (this.#c.textContent = t.detail.label ?? ""), this.toggleAttribute("data-input-empty", !this.value), this.#y(), this.#c?.focus(), this.#U(""), this.dispatchEvent(new CustomEvent("change", { bubbles: !0, detail: t.detail }));
1609
+ t.stopPropagation(), this.value = t.detail.value, this.#e.setFormValue(this.value || null), this.#p && (this.#p.textContent = t.detail.label ?? ""), this.toggleAttribute("data-input-empty", !this.value), this.#g(), this.#p?.focus(), this.#$(""), this.dispatchEvent(new CustomEvent("change", { bubbles: !0, detail: t.detail }));
1607
1610
  };
1608
1611
  #tt = (t) => {
1609
- t.key === "Escape" ? (t.preventDefault(), this.#y(), this.#c?.focus()) : t.key === "Tab" && this.#y();
1612
+ t.key === "Escape" ? (t.preventDefault(), this.#g(), this.#p?.focus()) : t.key === "Tab" && this.#g();
1610
1613
  };
1611
1614
  #et = (t) => {
1612
- this.open && !this.contains(t.target) && this.#y();
1615
+ this.open && !this.contains(t.target) && this.#g();
1613
1616
  };
1614
1617
  }
1615
- let y = null;
1616
- function et() {
1617
- return y && y.isConnected || (y = document.querySelector("aui-toast-container"), y || (y = document.createElement("aui-toast-container"), document.body.appendChild(y))), y;
1618
+ let x = null;
1619
+ function ht() {
1620
+ return x && x.isConnected || (x = document.querySelector("aui-toast-container"), x || (x = document.createElement("aui-toast-container"), document.body.appendChild(x))), x;
1618
1621
  }
1619
- class Ft extends d {
1622
+ class Gt extends d {
1620
1623
  static attributes = {
1621
1624
  open: { type: "boolean", default: !1 },
1622
1625
  message: { type: "string", default: "" },
@@ -1628,7 +1631,7 @@ class Ft extends d {
1628
1631
  #i = null;
1629
1632
  static show(t) {
1630
1633
  const e = document.createElement("aui-toast");
1631
- return e.setAttribute("message", t.message), t.intent && e.setAttribute(t.intent, ""), t.duration !== void 0 && e.setAttribute("duration", String(t.duration)), t.closeable === !1 ? e.removeAttribute("closeable") : e.setAttribute("closeable", ""), et().appendChild(e), requestAnimationFrame(() => e.setAttribute("open", "")), e;
1634
+ return e.setAttribute("message", t.message), t.intent && e.setAttribute(t.intent, ""), t.duration !== void 0 && e.setAttribute("duration", String(t.duration)), t.closeable === !1 ? e.removeAttribute("closeable") : e.setAttribute("closeable", ""), ht().appendChild(e), requestAnimationFrame(() => e.setAttribute("open", "")), e;
1632
1635
  }
1633
1636
  activate() {
1634
1637
  this.setAttribute("role", "status"), this.setAttribute("aria-live", "polite"), this.#i = document.createElement("span"), this.#i.setAttribute("data-message", ""), this.appendChild(this.#i), this.#t = document.createElement("span"), this.#t.setAttribute("data-close", ""), this.#t.setAttribute("role", "button"), this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("aria-label", "Dismiss"), this.#t.textContent = "✕", this.appendChild(this.#t), this.addEffect(() => {
@@ -1655,7 +1658,7 @@ class Ft extends d {
1655
1658
  (t.key === "Enter" || t.key === " ") && (t.preventDefault(), this.dismiss());
1656
1659
  };
1657
1660
  }
1658
- class Rt extends d {
1661
+ class Yt extends d {
1659
1662
  static attributes = {
1660
1663
  value: { type: "string", default: "" },
1661
1664
  orientation: { type: "enum", values: ["vertical"], default: "" }
@@ -1669,10 +1672,10 @@ class Rt extends d {
1669
1672
  const t = this.querySelector("aui-tab:not([disabled])");
1670
1673
  t && (this.value = t.getAttribute("value") ?? "");
1671
1674
  }
1672
- this.addEventListener("click", this.#r), this.addEventListener("keydown", this.#h);
1675
+ this.addEventListener("click", this.#r), this.addEventListener("keydown", this.#o);
1673
1676
  }
1674
1677
  dispose() {
1675
- this.removeEventListener("click", this.#r), this.removeEventListener("keydown", this.#h);
1678
+ this.removeEventListener("click", this.#r), this.removeEventListener("keydown", this.#o);
1676
1679
  }
1677
1680
  // ── Internal ──────────────────────────────────────────
1678
1681
  get #e() {
@@ -1714,34 +1717,34 @@ class Rt extends d {
1714
1717
  const e = t.target.closest("aui-tab");
1715
1718
  e && this.contains(e) && this.#a(e);
1716
1719
  };
1717
- #h = (t) => {
1720
+ #o = (t) => {
1718
1721
  const e = t.target;
1719
1722
  if (e.tagName !== "AUI-TAB") return;
1720
1723
  const i = this.orientation === "vertical", s = i ? "ArrowDown" : "ArrowRight", n = i ? "ArrowUp" : "ArrowLeft", a = this.#t, r = a.indexOf(e);
1721
1724
  if (r < 0) return;
1722
- let o;
1725
+ let h;
1723
1726
  switch (t.key) {
1724
1727
  case s:
1725
- o = r < a.length - 1 ? r + 1 : 0;
1728
+ h = r < a.length - 1 ? r + 1 : 0;
1726
1729
  break;
1727
1730
  case n:
1728
- o = r > 0 ? r - 1 : a.length - 1;
1731
+ h = r > 0 ? r - 1 : a.length - 1;
1729
1732
  break;
1730
1733
  case "Home":
1731
- o = 0;
1734
+ h = 0;
1732
1735
  break;
1733
1736
  case "End":
1734
- o = a.length - 1;
1737
+ h = a.length - 1;
1735
1738
  break;
1736
1739
  default:
1737
1740
  return;
1738
1741
  }
1739
1742
  t.preventDefault();
1740
- const l = a[o];
1743
+ const l = a[h];
1741
1744
  l.focus(), this.#a(l);
1742
1745
  };
1743
1746
  }
1744
- class zt extends d {
1747
+ class jt extends d {
1745
1748
  static attributes = {
1746
1749
  value: { type: "string", default: "" },
1747
1750
  disabled: { type: "boolean", default: !1 },
@@ -1753,7 +1756,7 @@ class zt extends d {
1753
1756
  });
1754
1757
  }
1755
1758
  }
1756
- class Nt extends d {
1759
+ class Xt extends d {
1757
1760
  static attributes = {
1758
1761
  value: { type: "string", default: "" },
1759
1762
  active: { type: "boolean", default: !1 }
@@ -1764,7 +1767,7 @@ class Nt extends d {
1764
1767
  });
1765
1768
  }
1766
1769
  }
1767
- class Ht extends d {
1770
+ class Wt extends d {
1768
1771
  static attributes = {
1769
1772
  multiple: { type: "boolean", default: !1 },
1770
1773
  caret: { type: "enum", values: ["leading", "trailing"], default: "leading" }
@@ -1784,7 +1787,7 @@ class Ht extends d {
1784
1787
  s !== e && s.removeAttribute("open");
1785
1788
  };
1786
1789
  }
1787
- class Ut extends d {
1790
+ class Jt extends d {
1788
1791
  static attributes = {
1789
1792
  open: { type: "boolean", default: !1 },
1790
1793
  disabled: { type: "boolean", default: !1 }
@@ -1829,18 +1832,45 @@ class Ut extends d {
1829
1832
  (t.key === "Enter" || t.key === " ") && (t.preventDefault(), this.#i());
1830
1833
  };
1831
1834
  }
1832
- class $t extends d {
1835
+ class Zt extends d {
1833
1836
  static attributes = {
1834
1837
  label: { type: "string", default: "Breadcrumb" },
1835
- joiner: { type: "string", default: "/" }
1838
+ joiner: { type: "string", default: "/" },
1839
+ "max-depth": { type: "string", default: "" }
1836
1840
  };
1841
+ #e = null;
1842
+ #t = null;
1837
1843
  activate() {
1838
1844
  this.setAttribute("role", "navigation"), this.addEffect(() => {
1839
- this.setAttribute("aria-label", this.label || "Breadcrumb"), this.style.setProperty("--_joiner", `"${this.joiner || "/"}"`);
1845
+ this.setAttribute("aria-label", this.label || "Breadcrumb"), this.style.setProperty("--_joiner", `"${this.joiner || "/"}"`), this.#i(), this.#s();
1846
+ });
1847
+ }
1848
+ /** Mark the last breadcrumb-item as [current] */
1849
+ #i() {
1850
+ const t = Array.from(this.querySelectorAll("aui-breadcrumb-item"));
1851
+ for (const i of t) i.removeAttribute("current");
1852
+ const e = t[t.length - 1];
1853
+ e && e.setAttribute("current", "");
1854
+ }
1855
+ /** Collapse middle items when max-depth is set */
1856
+ #s() {
1857
+ const t = parseInt(this["max-depth"]) || 0, e = Array.from(this.children).filter(
1858
+ (r) => r.tagName === "AUI-BREADCRUMB-ITEM"
1859
+ );
1860
+ this.#e && (this.#e.remove(), this.#e = null), this.#t && (this.#t.remove(), this.#t = null);
1861
+ for (const r of e) r.style.display = "";
1862
+ if (!t || e.length <= t + 1) return;
1863
+ const i = [], s = t;
1864
+ for (let r = 1; r < e.length - s; r++)
1865
+ e[r].style.display = "none", i.push(e[r]);
1866
+ const n = document.createElement("aui-breadcrumb-item"), a = document.createElement("aui-button");
1867
+ a.setAttribute("ghost", ""), a.setAttribute("size", "sm"), a.textContent = "…", a.setAttribute("aria-label", `Show ${i.length} more levels`), n.appendChild(a), this.#e = n, e[1] && this.insertBefore(n, e[1]), a.addEventListener("click", () => {
1868
+ for (const r of i) r.style.display = "";
1869
+ n.remove(), this.#e = null;
1840
1870
  });
1841
1871
  }
1842
1872
  }
1843
- class Bt extends d {
1873
+ class Qt extends d {
1844
1874
  static attributes = {
1845
1875
  href: { type: "string", default: "" },
1846
1876
  current: { type: "boolean", default: !1 }
@@ -1861,7 +1891,7 @@ class Bt extends d {
1861
1891
  });
1862
1892
  }
1863
1893
  }
1864
- class Vt extends d {
1894
+ class te extends d {
1865
1895
  static formAssociated = !0;
1866
1896
  static attributes = {
1867
1897
  value: { type: "string", default: "" },
@@ -1879,10 +1909,10 @@ class Vt extends d {
1879
1909
  const t = this.querySelector("aui-segment:not([disabled])");
1880
1910
  t && (this.value = t.getAttribute("value") ?? "");
1881
1911
  }
1882
- this.addEventListener("click", this.#h), this.addEventListener("keydown", this.#o);
1912
+ this.addEventListener("click", this.#o), this.addEventListener("keydown", this.#h);
1883
1913
  }
1884
1914
  dispose() {
1885
- this.removeEventListener("click", this.#h), this.removeEventListener("keydown", this.#o);
1915
+ this.removeEventListener("click", this.#o), this.removeEventListener("keydown", this.#h);
1886
1916
  }
1887
1917
  formDisabledCallback(t) {
1888
1918
  for (const e of this.#i) e.toggleAttribute("disabled", t);
@@ -1912,11 +1942,11 @@ class Vt extends d {
1912
1942
  #r(t) {
1913
1943
  t.hasAttribute("disabled") || (this.value = t.getAttribute("value") ?? "", this.dispatchEvent(new CustomEvent("change", { bubbles: !0, detail: { value: this.value } })));
1914
1944
  }
1915
- #h = (t) => {
1945
+ #o = (t) => {
1916
1946
  const e = t.target.closest("aui-segment");
1917
1947
  e && this.contains(e) && this.#r(e);
1918
1948
  };
1919
- #o = (t) => {
1949
+ #h = (t) => {
1920
1950
  const e = t.target;
1921
1951
  if (e.tagName !== "AUI-SEGMENT") return;
1922
1952
  const i = this.#s, s = i.indexOf(e);
@@ -1943,7 +1973,7 @@ class Vt extends d {
1943
1973
  t.preventDefault(), i[n].focus(), this.#r(i[n]);
1944
1974
  };
1945
1975
  }
1946
- class Kt extends d {
1976
+ class ee extends d {
1947
1977
  static attributes = {
1948
1978
  value: { type: "string", default: "" },
1949
1979
  disabled: { type: "boolean", default: !1 },
@@ -1955,7 +1985,7 @@ class Kt extends d {
1955
1985
  });
1956
1986
  }
1957
1987
  }
1958
- class _t extends d {
1988
+ class ie extends d {
1959
1989
  static attributes = {
1960
1990
  page: { type: "string", default: "1" },
1961
1991
  total: { type: "string", default: "1" },
@@ -1976,11 +2006,11 @@ class _t extends d {
1976
2006
  n.setAttribute("aria-label", "Previous page"), n.setAttribute("data-pagination-prev", ""), this.appendChild(n);
1977
2007
  for (const r of s)
1978
2008
  if (r === "…") {
1979
- const o = document.createElement("span");
1980
- o.setAttribute("data-pagination-ellipsis", ""), o.textContent = "…", this.appendChild(o);
2009
+ const h = document.createElement("span");
2010
+ h.setAttribute("data-pagination-ellipsis", ""), h.textContent = "…", this.appendChild(h);
1981
2011
  } else {
1982
- const o = r, l = this.#t(String(o), o, !1);
1983
- o === t && (l.setAttribute("aria-current", "page"), l.setAttribute("data-pagination-current", "")), this.appendChild(l);
2012
+ const h = r, l = this.#t(String(h), h, !1);
2013
+ h === t && (l.setAttribute("aria-current", "page"), l.setAttribute("data-pagination-current", "")), this.appendChild(l);
1984
2014
  }
1985
2015
  const a = this.#t("›", t + 1, t >= e);
1986
2016
  a.setAttribute("aria-label", "Next page"), a.setAttribute("data-pagination-next", ""), this.appendChild(a);
@@ -1991,7 +2021,7 @@ class _t extends d {
1991
2021
  }
1992
2022
  #i(t, e, i) {
1993
2023
  if (e <= i * 2 + 5)
1994
- return Array.from({ length: e }, (r, o) => o + 1);
2024
+ return Array.from({ length: e }, (r, h) => h + 1);
1995
2025
  const s = [], n = Math.max(t - i, 2), a = Math.min(t + i, e - 1);
1996
2026
  if (s.push(1), n > 2) s.push("…");
1997
2027
  else for (let r = 2; r < n; r++) s.push(r);
@@ -2013,11 +2043,11 @@ class _t extends d {
2013
2043
  }
2014
2044
  };
2015
2045
  }
2016
- class Yt extends d {
2046
+ class se extends d {
2017
2047
  #e = -1;
2018
2048
  activate() {
2019
2049
  this.setAttribute("role", "search"), this.addEventListener("input", this.#l), this.addEventListener("keydown", this.#d), this.addEventListener("click", this.#u), requestAnimationFrame(() => {
2020
- this.#h(0);
2050
+ this.#o(0);
2021
2051
  });
2022
2052
  }
2023
2053
  dispose() {
@@ -2047,20 +2077,20 @@ class Yt extends d {
2047
2077
  s.toggleAttribute("hidden", !a);
2048
2078
  }
2049
2079
  const i = this.#i;
2050
- this.#n && this.#n.toggleAttribute("hidden", i.length > 0), this.#h(0);
2080
+ this.#n && this.#n.toggleAttribute("hidden", i.length > 0), this.#o(0);
2051
2081
  }
2052
2082
  // ── Active item tracking ──────────────────────────────
2053
- #h(t) {
2083
+ #o(t) {
2054
2084
  const e = this.#i;
2055
2085
  if (e.length === 0) {
2056
- this.#e = -1, this.#o();
2086
+ this.#e = -1, this.#h();
2057
2087
  return;
2058
2088
  }
2059
- this.#o(), this.#e = Math.max(0, Math.min(t, e.length - 1));
2089
+ this.#h(), this.#e = Math.max(0, Math.min(t, e.length - 1));
2060
2090
  const i = e[this.#e];
2061
2091
  i.setAttribute("data-navigate-active", ""), i.scrollIntoView({ block: "nearest" }), i.id && this.#a && this.#a.setAttribute("aria-activedescendant", i.id);
2062
2092
  }
2063
- #o() {
2093
+ #h() {
2064
2094
  for (const t of this.#t)
2065
2095
  t.removeAttribute("data-navigate-active");
2066
2096
  this.#a?.removeAttribute("aria-activedescendant");
@@ -2077,27 +2107,27 @@ class Yt extends d {
2077
2107
  case "ArrowDown": {
2078
2108
  t.preventDefault();
2079
2109
  const i = this.#e < e.length - 1 ? this.#e + 1 : 0;
2080
- this.#h(i);
2110
+ this.#o(i);
2081
2111
  break;
2082
2112
  }
2083
2113
  case "ArrowUp": {
2084
2114
  t.preventDefault();
2085
2115
  const i = this.#e > 0 ? this.#e - 1 : e.length - 1;
2086
- this.#h(i);
2116
+ this.#o(i);
2087
2117
  break;
2088
2118
  }
2089
2119
  case "Home": {
2090
- t.preventDefault(), this.#h(0);
2120
+ t.preventDefault(), this.#o(0);
2091
2121
  break;
2092
2122
  }
2093
2123
  case "End": {
2094
- t.preventDefault(), this.#h(e.length - 1);
2124
+ t.preventDefault(), this.#o(e.length - 1);
2095
2125
  break;
2096
2126
  }
2097
2127
  case "Enter": {
2098
2128
  t.preventDefault();
2099
2129
  const i = e[this.#e];
2100
- i && this.#p(i);
2130
+ i && this.#c(i);
2101
2131
  break;
2102
2132
  }
2103
2133
  case "Escape": {
@@ -2108,9 +2138,9 @@ class Yt extends d {
2108
2138
  };
2109
2139
  #u = (t) => {
2110
2140
  const e = t.target.closest("aui-command-item");
2111
- !e || e.hasAttribute("disabled") || e.hasAttribute("hidden") || this.#p(e);
2141
+ !e || e.hasAttribute("disabled") || e.hasAttribute("hidden") || this.#c(e);
2112
2142
  };
2113
- #p(t) {
2143
+ #c(t) {
2114
2144
  const e = t.getAttribute("value") ?? t.textContent?.trim() ?? "", i = t.textContent?.trim() ?? "";
2115
2145
  this.dispatchEvent(new CustomEvent("select", {
2116
2146
  bubbles: !0,
@@ -2118,12 +2148,12 @@ class Yt extends d {
2118
2148
  }));
2119
2149
  }
2120
2150
  }
2121
- class Gt extends d {
2151
+ class ne extends d {
2122
2152
  activate() {
2123
2153
  this.setAttribute("role", "status"), this.hasAttribute("hidden") || this.setAttribute("hidden", "");
2124
2154
  }
2125
2155
  }
2126
- class jt extends d {
2156
+ class ae extends d {
2127
2157
  static attributes = {
2128
2158
  label: { type: "string", default: "" }
2129
2159
  };
@@ -2136,7 +2166,7 @@ class jt extends d {
2136
2166
  });
2137
2167
  }
2138
2168
  }
2139
- class Wt extends d {
2169
+ class re extends d {
2140
2170
  static attributes = {
2141
2171
  placeholder: { type: "string", default: "Search…" }
2142
2172
  };
@@ -2174,7 +2204,7 @@ class Wt extends d {
2174
2204
  this.#e?.textContent?.trim() || window.getSelection()?.setPosition(this.#e, 0);
2175
2205
  };
2176
2206
  }
2177
- class Xt extends d {
2207
+ class oe extends d {
2178
2208
  static attributes = {
2179
2209
  value: { type: "string", default: "" },
2180
2210
  disabled: { type: "boolean", default: !1 },
@@ -2190,19 +2220,19 @@ class Xt extends d {
2190
2220
  });
2191
2221
  }
2192
2222
  }
2193
- class Jt extends d {
2223
+ class he extends d {
2194
2224
  activate() {
2195
2225
  this.setAttribute("role", "listbox");
2196
2226
  }
2197
2227
  }
2198
- const A = { High: 0, Normal: 1, Low: 2 }, w = (h, t, e) => Math.min(e, Math.max(t, h));
2199
- let L = null;
2200
- function it(h) {
2201
- if (L !== null) return L;
2228
+ const w = { High: 0, Normal: 1, Low: 2 }, M = (o, t, e) => Math.min(e, Math.max(t, o));
2229
+ let I = null;
2230
+ function lt(o) {
2231
+ if (I !== null) return I;
2202
2232
  const t = document.createElement("div");
2203
- return t.style.cssText = "position:absolute;visibility:hidden;width:var(--aui-sidebar-width-collapsed,2.75rem)", h.appendChild(t), L = t.offsetWidth || 44, t.remove(), L;
2233
+ return t.style.cssText = "position:absolute;visibility:hidden;width:var(--aui-sidebar-width-collapsed,2.75rem)", o.appendChild(t), I = t.offsetWidth || 44, t.remove(), I;
2204
2234
  }
2205
- class Zt extends d {
2235
+ class le extends d {
2206
2236
  static attributes = {
2207
2237
  direction: { type: "enum", values: ["vertical"], default: "" }
2208
2238
  };
@@ -2216,9 +2246,9 @@ class Zt extends d {
2216
2246
  #n = [];
2217
2247
  #a = [];
2218
2248
  #r = 0;
2219
- #h = 0;
2249
+ #o = 0;
2220
2250
  // Drag pointer ID (for releasing capture)
2221
- #o = -1;
2251
+ #h = -1;
2222
2252
  // Pixel-based sizes — source of truth during/after resize
2223
2253
  #l = [];
2224
2254
  // Proportional layout
@@ -2227,7 +2257,7 @@ class Zt extends d {
2227
2257
  return this.direction === "vertical";
2228
2258
  }
2229
2259
  activate() {
2230
- this.addEventListener("pointermove", this.#k), this.addEventListener("pointerleave", this.#E), this.addEventListener("pointerdown", this.#M, !0), this.#b(), this.#e = new MutationObserver(this.#F), this.#e.observe(this, {
2260
+ this.addEventListener("pointermove", this.#k), this.addEventListener("pointerleave", this.#x), this.addEventListener("pointerdown", this.#I, !0), this.#b(), this.#e = new MutationObserver(this.#R), this.#e.observe(this, {
2231
2261
  childList: !0,
2232
2262
  attributes: !0,
2233
2263
  attributeFilter: ["hidden", "minimized", "priority"],
@@ -2237,7 +2267,7 @@ class Zt extends d {
2237
2267
  });
2238
2268
  }
2239
2269
  dispose() {
2240
- this.#L(), this.#q(), this.#e?.disconnect(), this.#e = null, this.#t?.disconnect(), this.#t = null, this.removeEventListener("pointermove", this.#k), this.removeEventListener("pointerleave", this.#E), this.removeEventListener("pointerdown", this.#M, !0);
2270
+ this.#L(), this.#q(), this.#e?.disconnect(), this.#e = null, this.#t?.disconnect(), this.#t = null, this.removeEventListener("pointermove", this.#k), this.removeEventListener("pointerleave", this.#x), this.removeEventListener("pointerdown", this.#I, !0);
2241
2271
  }
2242
2272
  // ── Pane queries ──
2243
2273
  #u() {
@@ -2245,17 +2275,17 @@ class Zt extends d {
2245
2275
  (t) => t instanceof HTMLElement && !t.hidden
2246
2276
  );
2247
2277
  }
2248
- #p(t) {
2278
+ #c(t) {
2249
2279
  const e = t.getAttribute("size-min");
2250
- return e ? Number(e) : it(t);
2280
+ return e ? Number(e) : lt(t);
2251
2281
  }
2252
2282
  #f(t) {
2253
2283
  const e = t.getAttribute("size-max");
2254
2284
  return e ? Number(e) : 1 / 0;
2255
2285
  }
2256
- #v(t) {
2286
+ #m(t) {
2257
2287
  const e = t.getAttribute("priority");
2258
- return e === "high" ? A.High : e === "low" ? A.Low : A.Normal;
2288
+ return e === "high" ? w.High : e === "low" ? w.Low : w.Normal;
2259
2289
  }
2260
2290
  // ── Size management ──
2261
2291
  /** Read current pixel sizes from layout and establish initial state. */
@@ -2270,10 +2300,10 @@ class Zt extends d {
2270
2300
  const n = s.getBoundingClientRect();
2271
2301
  return e ? n.height : n.width;
2272
2302
  });
2273
- this.#l = i, this.#a = t, this.#g(), this.#c();
2303
+ this.#l = i, this.#a = t, this.#A(), this.#p();
2274
2304
  }
2275
2305
  /** Apply pixel sizes as flex values. */
2276
- #c() {
2306
+ #p() {
2277
2307
  const t = this.#u();
2278
2308
  if (!(this.#l.reduce((i, s) => i + s, 0) <= 0))
2279
2309
  for (let i = 0; i < t.length; i++) {
@@ -2283,7 +2313,7 @@ class Zt extends d {
2283
2313
  }
2284
2314
  }
2285
2315
  /** Save current proportions for proportional container resize. */
2286
- #g() {
2316
+ #A() {
2287
2317
  const t = this.#l.reduce((e, i) => e + i, 0);
2288
2318
  if (t <= 0) {
2289
2319
  this.#d = null;
@@ -2298,44 +2328,44 @@ class Zt extends d {
2298
2328
  * "after" panes (index+1 -> end), respecting min/max constraints
2299
2329
  * and priority ordering.
2300
2330
  */
2301
- #m(t, e, i) {
2331
+ #v(t, e, i) {
2302
2332
  const s = this.#a, n = [...i], a = [];
2303
- for (let p = t; p >= 0; p--) a.push(p);
2333
+ for (let b = t; b >= 0; b--) a.push(b);
2304
2334
  const r = [];
2305
- for (let p = t + 1; p < s.length; p++) r.push(p);
2306
- const o = (p) => {
2307
- const g = [], E = [], M = [];
2308
- for (const C of p) {
2309
- const T = this.#v(s[C]);
2310
- T === A.High ? g.push(C) : T === A.Low ? M.push(C) : E.push(C);
2335
+ for (let b = t + 1; b < s.length; b++) r.push(b);
2336
+ const h = (b) => {
2337
+ const A = [], E = [], k = [];
2338
+ for (const D of b) {
2339
+ const O = this.#m(s[D]);
2340
+ O === w.High ? A.push(D) : O === w.Low ? k.push(D) : E.push(D);
2311
2341
  }
2312
- return [...g, ...E, ...M];
2313
- }, l = o(a), u = o(r);
2314
- let f = 0, m = 0;
2315
- for (const p of l)
2316
- f += this.#p(s[p]) - i[p], m += this.#f(s[p]) - i[p];
2317
- let c = 0, b = 0;
2318
- for (const p of u)
2319
- c += i[p] - this.#f(s[p]), b += i[p] - this.#p(s[p]);
2320
- const v = Math.max(f, c), k = Math.min(m, b);
2321
- e = w(e, v, k);
2322
- let x = e;
2323
- for (const p of l) {
2324
- const g = w(
2325
- i[p] + x,
2326
- this.#p(s[p]),
2327
- this.#f(s[p])
2328
- ), E = g - i[p];
2329
- x -= E, n[p] = g;
2330
- }
2331
- x = e;
2332
- for (const p of u) {
2333
- const g = w(
2334
- i[p] - x,
2335
- this.#p(s[p]),
2336
- this.#f(s[p])
2337
- ), E = i[p] - g;
2338
- x -= E, n[p] = g;
2342
+ return [...A, ...E, ...k];
2343
+ }, l = h(a), c = h(r);
2344
+ let u = 0, f = 0;
2345
+ for (const b of l)
2346
+ u += this.#c(s[b]) - i[b], f += this.#f(s[b]) - i[b];
2347
+ let p = 0, m = 0;
2348
+ for (const b of c)
2349
+ p += i[b] - this.#f(s[b]), m += i[b] - this.#c(s[b]);
2350
+ const v = Math.max(u, p), g = Math.min(f, m);
2351
+ e = M(e, v, g);
2352
+ let y = e;
2353
+ for (const b of l) {
2354
+ const A = M(
2355
+ i[b] + y,
2356
+ this.#c(s[b]),
2357
+ this.#f(s[b])
2358
+ ), E = A - i[b];
2359
+ y -= E, n[b] = A;
2360
+ }
2361
+ y = e;
2362
+ for (const b of c) {
2363
+ const A = M(
2364
+ i[b] - y,
2365
+ this.#c(s[b]),
2366
+ this.#f(s[b])
2367
+ ), E = i[b] - A;
2368
+ y -= E, n[b] = A;
2339
2369
  }
2340
2370
  return n;
2341
2371
  }
@@ -2343,56 +2373,56 @@ class Zt extends d {
2343
2373
  * After any size change, distribute leftover space (positive or negative)
2344
2374
  * across all panes in priority order.
2345
2375
  */
2346
- #A(t) {
2376
+ #y(t) {
2347
2377
  const e = this.#a, i = [...t];
2348
- let n = this.#x() - i.reduce((u, f) => u + f, 0);
2378
+ let n = this.#E() - i.reduce((c, u) => c + u, 0);
2349
2379
  if (Math.abs(n) < 0.5) return i;
2350
- const a = [], r = [], o = [];
2351
- for (let u = 0; u < e.length; u++) {
2352
- const f = this.#v(e[u]);
2353
- f === A.High ? a.push(u) : f === A.Low ? o.push(u) : r.push(u);
2354
- }
2355
- const l = [...a, ...r, ...o];
2356
- for (let u = 0; Math.abs(n) >= 0.5 && u < l.length; u++) {
2357
- const f = l[u], m = e[f], c = w(
2358
- i[f] + n,
2359
- this.#p(m),
2360
- this.#f(m)
2361
- ), b = c - i[f];
2362
- n -= b, i[f] = c;
2380
+ const a = [], r = [], h = [];
2381
+ for (let c = 0; c < e.length; c++) {
2382
+ const u = this.#m(e[c]);
2383
+ u === w.High ? a.push(c) : u === w.Low ? h.push(c) : r.push(c);
2384
+ }
2385
+ const l = [...a, ...r, ...h];
2386
+ for (let c = 0; Math.abs(n) >= 0.5 && c < l.length; c++) {
2387
+ const u = l[c], f = e[u], p = M(
2388
+ i[u] + n,
2389
+ this.#c(f),
2390
+ this.#f(f)
2391
+ ), m = p - i[u];
2392
+ n -= m, i[u] = p;
2363
2393
  }
2364
2394
  return i;
2365
2395
  }
2366
- #x() {
2396
+ #E() {
2367
2397
  const t = this.getBoundingClientRect();
2368
2398
  return this.isVertical ? t.height : t.width;
2369
2399
  }
2370
2400
  // ── Proportional container resize ──
2371
- #y = 0;
2401
+ #g = 0;
2372
2402
  #C = () => {
2373
2403
  if (this.#s >= 0) return;
2374
- const t = this.#x();
2404
+ const t = this.#E();
2375
2405
  if (t <= 0) return;
2376
- if (this.#y === 0) {
2377
- this.#y = t;
2406
+ if (this.#g === 0) {
2407
+ this.#g = t;
2378
2408
  return;
2379
2409
  }
2380
- if (Math.abs(t - this.#y) < 1) return;
2381
- this.#y = t;
2410
+ if (Math.abs(t - this.#g) < 1) return;
2411
+ this.#g = t;
2382
2412
  const e = this.#u();
2383
2413
  if (e.length !== 0) {
2384
2414
  if (this.#a = e, this.#d && this.#d.length === e.length) {
2385
2415
  const i = this.#d.map(
2386
- (s, n) => w(
2416
+ (s, n) => M(
2387
2417
  Math.round(s * t),
2388
- this.#p(e[n]),
2418
+ this.#c(e[n]),
2389
2419
  this.#f(e[n])
2390
2420
  )
2391
2421
  );
2392
- this.#l = this.#A(i);
2422
+ this.#l = this.#y(i);
2393
2423
  } else
2394
- this.#l = this.#A(this.#l);
2395
- this.#c();
2424
+ this.#l = this.#y(this.#l);
2425
+ this.#p();
2396
2426
  }
2397
2427
  };
2398
2428
  // ── Boundary hit-testing ──
@@ -2401,8 +2431,8 @@ class Zt extends d {
2401
2431
  if (i.length < 2) return -1;
2402
2432
  const s = this.isVertical, n = 8;
2403
2433
  for (let a = 0; a < i.length - 1; a++) {
2404
- const r = i[a].getBoundingClientRect(), o = s ? r.bottom : r.right;
2405
- if (Math.abs((s ? e : t) - o) <= n) return a;
2434
+ const r = i[a].getBoundingClientRect(), h = s ? r.bottom : r.right;
2435
+ if (Math.abs((s ? e : t) - h) <= n) return a;
2406
2436
  }
2407
2437
  return -1;
2408
2438
  }
@@ -2420,30 +2450,30 @@ class Zt extends d {
2420
2450
  } else
2421
2451
  this.#L();
2422
2452
  };
2423
- #E = () => {
2453
+ #x = () => {
2424
2454
  this.#s >= 0 || this.#L();
2425
2455
  };
2426
2456
  #L() {
2427
2457
  this.#i && (this.#i.removeAttribute("data-panes-edge-near"), this.#i = null);
2428
2458
  }
2429
2459
  // ── Drag resize ──
2430
- #M = (t) => {
2460
+ #I = (t) => {
2431
2461
  if (t.button !== 0) return;
2432
2462
  const e = this.#w(t.clientX, t.clientY);
2433
2463
  if (e < 0) return;
2434
- t.preventDefault(), t.stopPropagation(), this.#L(), this.#s = e, this.#a = this.#u(), this.#r = t.clientX, this.#h = t.clientY;
2464
+ t.preventDefault(), t.stopPropagation(), this.#L(), this.#s = e, this.#a = this.#u(), this.#r = t.clientX, this.#o = t.clientY;
2435
2465
  const i = this.isVertical;
2436
2466
  this.#n = this.#a.map((n) => {
2437
2467
  const a = n.getBoundingClientRect();
2438
2468
  return i ? a.height : a.width;
2439
2469
  }), this.#l = [...this.#n], this.setAttribute("data-panes-resizing", "");
2440
2470
  const s = i ? "bottom" : "right";
2441
- this.#a[e].setAttribute("data-panes-edge-active", s), this.#o = t.pointerId, this.setPointerCapture(t.pointerId), document.addEventListener("pointermove", this.#T), document.addEventListener("pointerup", this.#P), document.addEventListener("pointercancel", this.#D), document.addEventListener("keydown", this.#N);
2471
+ this.#a[e].setAttribute("data-panes-edge-active", s), this.#h = t.pointerId, this.setPointerCapture(t.pointerId), document.addEventListener("pointermove", this.#T), document.addEventListener("pointerup", this.#P), document.addEventListener("pointercancel", this.#M), document.addEventListener("keydown", this.#z);
2442
2472
  };
2443
2473
  #T = (t) => {
2444
2474
  if (this.#s < 0) return;
2445
- const e = this.isVertical ? t.clientY - this.#h : t.clientX - this.#r;
2446
- this.#l = this.#m(this.#s, e, this.#n), this.#c();
2475
+ const e = this.isVertical ? t.clientY - this.#o : t.clientX - this.#r;
2476
+ this.#l = this.#v(this.#s, e, this.#n), this.#p();
2447
2477
  };
2448
2478
  #P = () => {
2449
2479
  if (this.#s < 0) return;
@@ -2451,7 +2481,7 @@ class Zt extends d {
2451
2481
  this.#l = this.#a.map((e) => {
2452
2482
  const i = e.getBoundingClientRect();
2453
2483
  return t ? i.height : i.width;
2454
- }), this.#g(), this.dispatchEvent(new CustomEvent("aui:panes-resize", {
2484
+ }), this.#A(), this.dispatchEvent(new CustomEvent("aui:panes-resize", {
2455
2485
  bubbles: !0,
2456
2486
  composed: !0,
2457
2487
  detail: {
@@ -2460,25 +2490,25 @@ class Zt extends d {
2460
2490
  }
2461
2491
  })), this.#q();
2462
2492
  };
2463
- #D = () => {
2464
- this.#s < 0 || (this.#l = [...this.#n], this.#c(), this.#q());
2493
+ #M = () => {
2494
+ this.#s < 0 || (this.#l = [...this.#n], this.#p(), this.#q());
2465
2495
  };
2466
- #N = (t) => {
2467
- t.key === "Escape" && this.#s >= 0 && (t.preventDefault(), this.#D());
2496
+ #z = (t) => {
2497
+ t.key === "Escape" && this.#s >= 0 && (t.preventDefault(), this.#M());
2468
2498
  };
2469
2499
  #q() {
2470
- if (this.#s >= 0 && this.#a[this.#s]?.removeAttribute("data-panes-edge-active"), this.#o >= 0) {
2500
+ if (this.#s >= 0 && this.#a[this.#s]?.removeAttribute("data-panes-edge-active"), this.#h >= 0) {
2471
2501
  try {
2472
- this.releasePointerCapture(this.#o);
2502
+ this.releasePointerCapture(this.#h);
2473
2503
  } catch {
2474
2504
  }
2475
- this.#o = -1;
2505
+ this.#h = -1;
2476
2506
  }
2477
- this.#s = -1, this.#n = [], this.removeAttribute("data-panes-resizing"), document.removeEventListener("pointermove", this.#T), document.removeEventListener("pointerup", this.#P), document.removeEventListener("pointercancel", this.#D), document.removeEventListener("keydown", this.#N);
2507
+ this.#s = -1, this.#n = [], this.removeAttribute("data-panes-resizing"), document.removeEventListener("pointermove", this.#T), document.removeEventListener("pointerup", this.#P), document.removeEventListener("pointercancel", this.#M), document.removeEventListener("keydown", this.#z);
2478
2508
  }
2479
2509
  // ── Child mutation observer (debounced) ──
2480
- #O = 0;
2481
- #F = (t) => {
2510
+ #F = 0;
2511
+ #R = (t) => {
2482
2512
  let e = !1;
2483
2513
  for (const i of t) {
2484
2514
  const s = i.target;
@@ -2491,20 +2521,20 @@ class Zt extends d {
2491
2521
  break;
2492
2522
  }
2493
2523
  }
2494
- e && (this.#O || (this.#O = requestAnimationFrame(() => {
2495
- this.#O = 0, this.#b();
2524
+ e && (this.#F || (this.#F = requestAnimationFrame(() => {
2525
+ this.#F = 0, this.#b();
2496
2526
  })));
2497
2527
  };
2498
2528
  }
2499
- const U = document.createElement("template");
2500
- U.innerHTML = `
2529
+ const G = document.createElement("template");
2530
+ G.innerHTML = `
2501
2531
  <aui-header data-pane-header>
2502
2532
  <aui-pane-label></aui-pane-label>
2503
2533
  </aui-header>
2504
2534
  `;
2505
- const $ = document.createElement("template");
2506
- $.innerHTML = "<aui-button ghost></aui-button>";
2507
- class Qt extends d {
2535
+ const Y = document.createElement("template");
2536
+ Y.innerHTML = "<aui-button ghost></aui-button>";
2537
+ class de extends d {
2508
2538
  static attributes = {
2509
2539
  label: { type: "string", default: "" },
2510
2540
  icon: { type: "string", default: "" },
@@ -2528,7 +2558,7 @@ class Qt extends d {
2528
2558
  // Collapse state (internal)
2529
2559
  #r = !1;
2530
2560
  activate() {
2531
- this.#l(), this.#o(), this.#h(), this.addEffect(() => {
2561
+ this.#l(), this.#h(), this.#o(), this.addEffect(() => {
2532
2562
  const t = this.label;
2533
2563
  this.#t && (this.#t.textContent = t), t && !this.#e ? this.#l() : !t && this.#e && this.#d();
2534
2564
  }), this.addEffect(() => {
@@ -2538,19 +2568,19 @@ class Qt extends d {
2538
2568
  e && e.setAttribute("icon", t ? "caret-up" : "minus");
2539
2569
  }
2540
2570
  }), this.addEffect(() => {
2541
- this["fixed-size"], this.#h();
2571
+ this["fixed-size"], this.#o();
2542
2572
  }), this.addEffect(() => {
2543
2573
  const t = this.basis;
2544
2574
  t ? this.style.flexBasis = t : this.style.removeProperty("flex-basis");
2545
2575
  }), this.addEffect(() => {
2546
2576
  const t = this.icon;
2547
- this.#p(t || null);
2577
+ this.#c(t || null);
2548
2578
  }), this.addEffect(() => {
2549
2579
  this.#f(this.closeable);
2550
2580
  }), this.addEffect(() => {
2551
- this.#v(this.minimizable);
2581
+ this.#m(this.minimizable);
2552
2582
  }), this.addEffect(() => {
2553
- this.tabs && !this.#a ? this.#b() : !this.tabs && this.#a && this.#c();
2583
+ this.tabs && !this.#a ? this.#b() : !this.tabs && this.#a && this.#p();
2554
2584
  }), this.addEffect(() => {
2555
2585
  this.collapse;
2556
2586
  });
@@ -2599,13 +2629,13 @@ class Qt extends d {
2599
2629
  }));
2600
2630
  }
2601
2631
  // ── Size sync ──
2602
- #h() {
2632
+ #o() {
2603
2633
  const t = this["fixed-size"];
2604
2634
  t && t !== "auto" ? this.style.flex = `0 1 ${t}` : this.style.removeProperty("flex");
2605
2635
  }
2606
2636
  // ── Content wrapping ──
2607
2637
  /** Wrap non-structural children in <aui-content>. */
2608
- #o() {
2638
+ #h() {
2609
2639
  if (this.querySelector(":scope > aui-content")) return;
2610
2640
  const t = document.createElement("aui-content"), e = [];
2611
2641
  for (const i of Array.from(this.childNodes))
@@ -2620,7 +2650,7 @@ class Qt extends d {
2620
2650
  if (this.querySelector(":scope > aui-header")) return;
2621
2651
  const t = this.label;
2622
2652
  if (!t) return;
2623
- const i = U.content.cloneNode(!0).firstElementChild, s = i.querySelector("aui-pane-label");
2653
+ const i = G.content.cloneNode(!0).firstElementChild, s = i.querySelector("aui-pane-label");
2624
2654
  s.textContent = t, this.#t = s;
2625
2655
  const n = this.icon;
2626
2656
  if (n) {
@@ -2638,10 +2668,10 @@ class Qt extends d {
2638
2668
  this.#e && (this.#e.remove(), this.#e = null, this.#t = null, this.#i = null, this.#s = null, this.#n = null);
2639
2669
  }
2640
2670
  #u(t, e) {
2641
- const i = $.content.firstElementChild.cloneNode(!0);
2671
+ const i = Y.content.firstElementChild.cloneNode(!0);
2642
2672
  return i.setAttribute("icon", t), i.setAttribute("slot", "trailing"), i.addEventListener("click", e), i;
2643
2673
  }
2644
- #p(t) {
2674
+ #c(t) {
2645
2675
  if (this.#e)
2646
2676
  if (t && this.#i)
2647
2677
  this.#i.setAttribute("icon", t);
@@ -2653,7 +2683,7 @@ class Qt extends d {
2653
2683
  #f(t) {
2654
2684
  this.#e && (t && !this.#n ? (this.#n = this.#u("x", () => this.close()), this.#e.appendChild(this.#n)) : !t && this.#n && (this.#n.remove(), this.#n = null));
2655
2685
  }
2656
- #v(t) {
2686
+ #m(t) {
2657
2687
  this.#e && (t && !this.#s ? (this.#s = this.#u(
2658
2688
  this.minimized ? "caret-up" : "minus",
2659
2689
  () => {
@@ -2674,20 +2704,20 @@ class Qt extends d {
2674
2704
  }
2675
2705
  this.#a.addEventListener("change", (e) => {
2676
2706
  const s = e.detail.tab?.getAttribute("data-for");
2677
- s && this.#g(s);
2707
+ s && this.#A(s);
2678
2708
  });
2679
2709
  const t = this.querySelector(":scope > aui-header, :scope > [data-pane-header]");
2680
2710
  t ? t.after(this.#a) : this.prepend(this.#a), queueMicrotask(() => {
2681
2711
  const i = this.#a?.querySelector("aui-tab")?.getAttribute("data-for");
2682
- i && this.#g(i);
2712
+ i && this.#A(i);
2683
2713
  });
2684
2714
  }
2685
- #c() {
2715
+ #p() {
2686
2716
  this.#a?.remove(), this.#a = null;
2687
2717
  for (const t of this.children)
2688
2718
  t instanceof HTMLElement && t.hasAttribute("data-tab-id") && t.removeAttribute("hidden");
2689
2719
  }
2690
- #g(t) {
2720
+ #A(t) {
2691
2721
  for (const e of this.children) {
2692
2722
  if (!(e instanceof HTMLElement)) continue;
2693
2723
  const i = e.getAttribute("data-tab-id");
@@ -2695,10 +2725,10 @@ class Qt extends d {
2695
2725
  }
2696
2726
  }
2697
2727
  dispose() {
2698
- this.#d(), this.#c();
2728
+ this.#d(), this.#p();
2699
2729
  }
2700
2730
  }
2701
- class te extends d {
2731
+ class ce extends d {
2702
2732
  static attributes = {
2703
2733
  cols: { type: "string", default: "" },
2704
2734
  src: { type: "string", default: "" },
@@ -2714,35 +2744,35 @@ class te extends d {
2714
2744
  #n = "";
2715
2745
  #a = 1;
2716
2746
  #r = /* @__PURE__ */ new Set();
2717
- #h = !1;
2747
+ #o = !1;
2718
2748
  // Stable DOM refs (created once, never destroyed)
2719
- #o = null;
2749
+ #h = null;
2720
2750
  #l = null;
2721
2751
  #d = null;
2722
2752
  #u = null;
2723
- #p = null;
2753
+ #c = null;
2724
2754
  get selectedIds() {
2725
2755
  return new Set(this.#r);
2726
2756
  }
2727
2757
  get dataMode() {
2728
- return this.#h;
2758
+ return this.#o;
2729
2759
  }
2730
2760
  setData(t) {
2731
- this.#t = [...t], this.#a = 1, this.#r.clear(), this.#E();
2761
+ this.#t = [...t], this.#a = 1, this.#r.clear(), this.#x();
2732
2762
  }
2733
2763
  activate() {
2734
- if (this.setAttribute("role", "table"), this.#e = this.#f(), this.#h = this.#e.length > 0, !this.#h) {
2764
+ if (this.setAttribute("role", "table"), this.#e = this.#f(), this.#o = this.#e.length > 0, !this.#o) {
2735
2765
  this.addEffect(() => {
2736
2766
  this.cols && (this.style.gridTemplateColumns = this.cols);
2737
2767
  });
2738
2768
  return;
2739
2769
  }
2740
- this.#v(), this.#c(), this.#E(), this.addEventListener("click", this.#g), this.addEffect(() => {
2770
+ this.#m(), this.#p(), this.#x(), this.addEventListener("click", this.#A), this.addEffect(() => {
2741
2771
  this.src && this.#b(this.src);
2742
2772
  });
2743
2773
  }
2744
2774
  dispose() {
2745
- this.removeEventListener("click", this.#g), this.#p && clearTimeout(this.#p);
2775
+ this.removeEventListener("click", this.#A), this.#c && clearTimeout(this.#c);
2746
2776
  }
2747
2777
  // ── Column parsing ─────────────────────────────────────────
2748
2778
  #f() {
@@ -2757,7 +2787,7 @@ class te extends d {
2757
2787
  })).filter((t) => t.key);
2758
2788
  }
2759
2789
  // ── Data loading ───────────────────────────────────────────
2760
- #v() {
2790
+ #m() {
2761
2791
  const t = this.querySelector('script[type="application/json"]');
2762
2792
  if (t?.textContent) {
2763
2793
  try {
@@ -2774,12 +2804,12 @@ class te extends d {
2774
2804
  const e = await fetch(t);
2775
2805
  if (!e.ok) return;
2776
2806
  const i = await e.json();
2777
- this.#t = Array.isArray(i) ? i : i?.data ?? [], this.#a = 1, this.#r.clear(), this.#E();
2807
+ this.#t = Array.isArray(i) ? i : i?.data ?? [], this.#a = 1, this.#r.clear(), this.#x();
2778
2808
  } catch {
2779
2809
  }
2780
2810
  }
2781
2811
  // ── Structure (built once) ─────────────────────────────────
2782
- #c() {
2812
+ #p() {
2783
2813
  for (const e of [...this.children]) {
2784
2814
  const i = e.tagName?.toLowerCase();
2785
2815
  i !== "aui-table-column" && i !== "script" && e.remove();
@@ -2789,10 +2819,10 @@ class te extends d {
2789
2819
  const e = document.createElement("div");
2790
2820
  e.setAttribute("data-table-toolbar", "");
2791
2821
  const i = document.createElement("aui-input");
2792
- i.setAttribute("placeholder", "Search..."), i.setAttribute("type", "search"), i.setAttribute("width", "full"), e.appendChild(i), this.#o = e, this.appendChild(e);
2822
+ i.setAttribute("placeholder", "Search..."), i.setAttribute("type", "search"), i.setAttribute("width", "full"), e.appendChild(i), this.#h = e, this.appendChild(e);
2793
2823
  const s = () => {
2794
- this.#p && clearTimeout(this.#p), this.#p = setTimeout(() => {
2795
- this.#n = (i.value || "").trim(), this.#a = 1, this.#E();
2824
+ this.#c && clearTimeout(this.#c), this.#c = setTimeout(() => {
2825
+ this.#n = (i.value || "").trim(), this.#a = 1, this.#x();
2796
2826
  }, 200);
2797
2827
  };
2798
2828
  i.addEventListener("input", s);
@@ -2800,50 +2830,50 @@ class te extends d {
2800
2830
  this.#l = document.createElement("aui-table-head"), this.appendChild(this.#l), this.#d = document.createElement("aui-table-body"), this.appendChild(this.#d), this.#C > 0 && (this.#u = document.createElement("div"), this.#u.setAttribute("data-table-footer", ""), this.appendChild(this.#u));
2801
2831
  }
2802
2832
  // ── Event delegation ───────────────────────────────────────
2803
- #g = (t) => {
2833
+ #A = (t) => {
2804
2834
  const e = t.target, i = e.closest("aui-table-header[data-table-sortable]");
2805
2835
  if (i) {
2806
2836
  const a = i.dataset.key;
2807
2837
  if (a) {
2808
- this.#m(a);
2838
+ this.#v(a);
2809
2839
  return;
2810
2840
  }
2811
2841
  }
2812
2842
  const s = e.closest("aui-checkbox[data-table-check]");
2813
2843
  if (s) {
2814
2844
  const a = s.dataset.rowId;
2815
- a === "__all__" ? this.#y() : a && this.#x(a);
2845
+ a === "__all__" ? this.#g() : a && this.#E(a);
2816
2846
  return;
2817
2847
  }
2818
2848
  const n = e.closest("[data-table-page]");
2819
2849
  if (n) {
2820
2850
  const a = parseInt(n.dataset.tablePage, 10);
2821
- !isNaN(a) && a !== this.#a && (this.#a = a, this.dispatchEvent(new CustomEvent("aui:page-change", { bubbles: !0, detail: { page: a } })), this.#E());
2851
+ !isNaN(a) && a !== this.#a && (this.#a = a, this.dispatchEvent(new CustomEvent("aui:page-change", { bubbles: !0, detail: { page: a } })), this.#x());
2822
2852
  }
2823
2853
  };
2824
2854
  // ── Sort ───────────────────────────────────────────────────
2825
- #m(t) {
2855
+ #v(t) {
2826
2856
  if (this.#i === t) {
2827
2857
  const e = ["asc", "desc", "none"];
2828
2858
  this.#s = e[(e.indexOf(this.#s) + 1) % 3], this.#s === "none" && (this.#i = "");
2829
2859
  } else
2830
2860
  this.#i = t, this.#s = "asc";
2831
- this.#a = 1, this.dispatchEvent(new CustomEvent("aui:sort-change", { bubbles: !0, detail: { key: this.#i, dir: this.#s } })), this.#E();
2861
+ this.#a = 1, this.dispatchEvent(new CustomEvent("aui:sort-change", { bubbles: !0, detail: { key: this.#i, dir: this.#s } })), this.#x();
2832
2862
  }
2833
2863
  // ── Selection ──────────────────────────────────────────────
2834
- #A(t) {
2864
+ #y(t) {
2835
2865
  return t.id != null ? String(t.id) : JSON.stringify(t);
2836
2866
  }
2837
- #x(t) {
2838
- this.#r.has(t) ? this.#r.delete(t) : this.#r.add(t), this.dispatchEvent(new CustomEvent("aui:selection-change", { bubbles: !0, detail: { selectedIds: [...this.#r] } })), this.#E();
2867
+ #E(t) {
2868
+ this.#r.has(t) ? this.#r.delete(t) : this.#r.add(t), this.dispatchEvent(new CustomEvent("aui:selection-change", { bubbles: !0, detail: { selectedIds: [...this.#r] } })), this.#x();
2839
2869
  }
2840
- #y() {
2841
- const t = this.#k(this.#w()), e = t.length > 0 && t.every((i) => this.#r.has(this.#A(i)));
2870
+ #g() {
2871
+ const t = this.#k(this.#w()), e = t.length > 0 && t.every((i) => this.#r.has(this.#y(i)));
2842
2872
  for (const i of t) {
2843
- const s = this.#A(i);
2873
+ const s = this.#y(i);
2844
2874
  e ? this.#r.delete(s) : this.#r.add(s);
2845
2875
  }
2846
- this.dispatchEvent(new CustomEvent("aui:selection-change", { bubbles: !0, detail: { selectedIds: [...this.#r] } })), this.#E();
2876
+ this.dispatchEvent(new CustomEvent("aui:selection-change", { bubbles: !0, detail: { selectedIds: [...this.#r] } })), this.#x();
2847
2877
  }
2848
2878
  // ── Derived data ───────────────────────────────────────────
2849
2879
  get #C() {
@@ -2861,8 +2891,8 @@ class te extends d {
2861
2891
  if (this.#i && this.#s !== "none") {
2862
2892
  const i = this.#e.find((a) => a.key === this.#i)?.type || "string", s = this.#s === "desc" ? -1 : 1, n = this.#i;
2863
2893
  t.sort((a, r) => {
2864
- const o = a[n], l = r[n];
2865
- return o == null && l == null ? 0 : o == null ? 1 : l == null ? -1 : i === "number" ? (Number(o) - Number(l)) * s : i === "date" ? (new Date(String(o)).getTime() - new Date(String(l)).getTime()) * s : String(o).localeCompare(String(l)) * s;
2894
+ const h = a[n], l = r[n];
2895
+ return h == null && l == null ? 0 : h == null ? 1 : l == null ? -1 : i === "number" ? (Number(h) - Number(l)) * s : i === "date" ? (new Date(String(h)).getTime() - new Date(String(l)).getTime()) * s : String(h).localeCompare(String(l)) * s;
2866
2896
  });
2867
2897
  }
2868
2898
  return t;
@@ -2874,29 +2904,37 @@ class te extends d {
2874
2904
  return t.slice(i, i + e);
2875
2905
  }
2876
2906
  // ── Render (updates innerHTML of stable containers) ────────
2877
- #E() {
2878
- if (!this.#h || !this.#l || !this.#d) return;
2907
+ #x() {
2908
+ if (!this.#o || !this.#l || !this.#d) return;
2879
2909
  const t = this.#w(), e = this.#k(t);
2880
2910
  this.#l.innerHTML = "";
2881
2911
  const i = document.createElement("aui-table-row");
2882
2912
  if (this.selectable) {
2883
- const s = document.createElement("aui-table-header"), n = e.length > 0 && e.every((r) => this.#r.has(this.#A(r))), a = document.createElement("aui-checkbox");
2913
+ const s = document.createElement("aui-table-header"), n = e.length > 0 && e.every((r) => this.#r.has(this.#y(r))), a = document.createElement("aui-checkbox");
2884
2914
  a.setAttribute("data-table-check", ""), a.setAttribute("data-row-id", "__all__"), n && a.setAttribute("checked", ""), s.appendChild(a), i.appendChild(s);
2885
2915
  }
2886
2916
  for (const s of this.#e) {
2887
2917
  const n = document.createElement("aui-table-header"), a = s.sortable || this.sortable;
2888
- n.textContent = s.label, s.align !== "start" && (n.style.justifyContent = s.align), a && (n.setAttribute("data-table-sortable", ""), n.dataset.key = s.key, n.style.cursor = "pointer", this.#i === s.key && this.#s !== "none" && n.setAttribute("data-table-sort", this.#s)), i.appendChild(n);
2918
+ if (s.align !== "start" && (n.style.justifyContent = s.align), a) {
2919
+ n.setAttribute("data-table-sortable", ""), n.dataset.key = s.key, n.style.cursor = "pointer";
2920
+ const r = document.createElement("span");
2921
+ r.textContent = s.label, n.appendChild(r);
2922
+ const h = document.createElement("aui-icon");
2923
+ h.setAttribute("size", "xs"), h.setAttribute("data-table-sort-icon", ""), this.#i === s.key && this.#s !== "none" ? (n.setAttribute("data-table-sort", this.#s), h.setAttribute("name", this.#s === "asc" ? "caret-up" : "caret-down")) : (h.setAttribute("name", "caret-up"), h.style.opacity = "0.3"), n.appendChild(h);
2924
+ } else
2925
+ n.textContent = s.label;
2926
+ i.appendChild(n);
2889
2927
  }
2890
2928
  this.#l.appendChild(i), this.#d.innerHTML = "";
2891
2929
  for (const s of e) {
2892
- const n = document.createElement("aui-table-row"), a = this.#A(s), r = this.#r.has(a);
2930
+ const n = document.createElement("aui-table-row"), a = this.#y(s), r = this.#r.has(a);
2893
2931
  if (r && n.setAttribute("data-table-selected", ""), this.selectable) {
2894
- const o = document.createElement("aui-table-cell"), l = document.createElement("aui-checkbox");
2895
- l.setAttribute("data-table-check", ""), l.setAttribute("data-row-id", a), r && l.setAttribute("checked", ""), o.appendChild(l), n.appendChild(o);
2932
+ const h = document.createElement("aui-table-cell"), l = document.createElement("aui-checkbox");
2933
+ l.setAttribute("data-table-check", ""), l.setAttribute("data-row-id", a), r && l.setAttribute("checked", ""), h.appendChild(l), n.appendChild(h);
2896
2934
  }
2897
- for (const o of this.#e) {
2898
- const l = document.createElement("aui-table-cell"), u = s[o.key];
2899
- l.textContent = u != null ? String(u) : "", o.align !== "start" && (l.style.justifyContent = o.align), n.appendChild(l);
2935
+ for (const h of this.#e) {
2936
+ const l = document.createElement("aui-table-cell"), c = s[h.key];
2937
+ l.textContent = c != null ? String(c) : "", h.align !== "start" && (l.style.justifyContent = h.align), n.appendChild(l);
2900
2938
  }
2901
2939
  this.#d.appendChild(n);
2902
2940
  }
@@ -2904,32 +2942,32 @@ class te extends d {
2904
2942
  this.#u.innerHTML = "";
2905
2943
  const s = this.#C, n = t.length, a = Math.max(1, Math.ceil(n / s));
2906
2944
  this.#a > a && (this.#a = a);
2907
- const r = n === 0 ? 0 : (this.#a - 1) * s + 1, o = Math.min(this.#a * s, n), l = document.createElement("span");
2908
- l.setAttribute("data-table-page-info", ""), l.textContent = `${r}–${o} of ${n}`, this.#u.appendChild(l);
2909
- const u = document.createElement("span");
2910
- u.setAttribute("data-table-page-controls", ""), u.style.cssText = "display:inline-flex;gap:0.25rem;align-items:center;";
2911
- const f = document.createElement("button");
2912
- f.setAttribute("data-table-page", String(this.#a - 1)), f.disabled = this.#a <= 1, f.textContent = "", f.style.cssText = "all:unset;cursor:pointer;padding:0.25rem 0.5rem;border-radius:var(--aui-radius);font-size:var(--aui-font-sm);color:var(--aui-ink-muted);", f.disabled && (f.style.opacity = "0.4"), u.appendChild(f);
2913
- for (let c = 1; c <= a; c++) {
2914
- const b = document.createElement("button");
2915
- b.setAttribute("data-table-page", String(c)), b.textContent = String(c), b.style.cssText = `all:unset;cursor:pointer;padding:0.25rem 0.5rem;border-radius:var(--aui-radius);font-size:var(--aui-font-sm);${c === this.#a ? "background:var(--aui-accent);color:white;" : "color:var(--aui-ink-muted);"}`, u.appendChild(b);
2945
+ const r = n === 0 ? 0 : (this.#a - 1) * s + 1, h = Math.min(this.#a * s, n), l = document.createElement("span");
2946
+ l.setAttribute("data-table-page-info", ""), l.textContent = `${r}–${h} of ${n}`, this.#u.appendChild(l);
2947
+ const c = document.createElement("span");
2948
+ c.setAttribute("data-table-page-controls", ""), c.style.cssText = "display:inline-flex;gap:0.25rem;align-items:center;";
2949
+ const u = document.createElement("aui-button");
2950
+ u.setAttribute("ghost", ""), u.setAttribute("icon-leading", "caret-left"), u.setAttribute("hide-label", ""), u.setAttribute("label", "Previous page"), u.setAttribute("data-table-page", String(this.#a - 1)), this.#a <= 1 && (u.setAttribute("disabled", ""), u.style.opacity = "0.4"), c.appendChild(u);
2951
+ for (let p = 1; p <= a; p++) {
2952
+ const m = document.createElement("aui-button");
2953
+ m.setAttribute("ghost", ""), m.setAttribute("data-table-page", String(p)), m.textContent = String(p), p === this.#a && m.setAttribute("data-table-page-current", ""), c.appendChild(m);
2916
2954
  }
2917
- const m = document.createElement("button");
2918
- m.setAttribute("data-table-page", String(this.#a + 1)), m.disabled = this.#a >= a, m.textContent = "", m.style.cssText = "all:unset;cursor:pointer;padding:0.25rem 0.5rem;border-radius:var(--aui-radius);font-size:var(--aui-font-sm);color:var(--aui-ink-muted);", m.disabled && (m.style.opacity = "0.4"), u.appendChild(m), this.#u.appendChild(u);
2955
+ const f = document.createElement("aui-button");
2956
+ f.setAttribute("ghost", ""), f.setAttribute("icon-leading", "caret-right"), f.setAttribute("hide-label", ""), f.setAttribute("label", "Next page"), f.setAttribute("data-table-page", String(this.#a + 1)), this.#a >= a && (f.setAttribute("disabled", ""), f.style.opacity = "0.4"), c.appendChild(f), this.#u.appendChild(c);
2919
2957
  }
2920
2958
  }
2921
2959
  }
2922
- class ee extends d {
2960
+ class ue extends d {
2923
2961
  }
2924
- class ie extends d {
2962
+ class pe extends d {
2925
2963
  }
2926
- class se extends d {
2964
+ class fe extends d {
2927
2965
  }
2928
- class ne extends d {
2966
+ class be extends d {
2929
2967
  }
2930
- class ae extends d {
2968
+ class me extends d {
2931
2969
  }
2932
- class re extends d {
2970
+ class ve extends d {
2933
2971
  activate() {
2934
2972
  this.setAttribute("role", "tree"), this.addEventListener("keydown", this.#t);
2935
2973
  }
@@ -2955,8 +2993,8 @@ class re extends d {
2955
2993
  t.key === "ArrowDown" ? s = i < e.length - 1 ? i + 1 : 0 : s = i > 0 ? i - 1 : e.length - 1, e[s].focus();
2956
2994
  };
2957
2995
  }
2958
- const st = '<aui-icon name="caret-right" size="sm"></aui-icon>';
2959
- class he extends d {
2996
+ const dt = '<aui-icon name="caret-right" size="sm"></aui-icon>';
2997
+ class ge extends d {
2960
2998
  static attributes = {
2961
2999
  expanded: { type: "boolean", default: !1 },
2962
3000
  selected: { type: "boolean", default: !1 },
@@ -2972,7 +3010,7 @@ class he extends d {
2972
3010
  if (this.setAttribute("role", "treeitem"), this.#e = this.querySelector(":scope > [data-label]"), this.#e)
2973
3011
  this.#i = this.querySelector(":scope > [data-label] > [data-caret]"), this.#t = this.querySelector(":scope > [data-children]");
2974
3012
  else {
2975
- this.#e = document.createElement("div"), this.#e.setAttribute("data-label", ""), this.#e.setAttribute("tabindex", "0"), this.#i = document.createElement("span"), this.#i.setAttribute("data-caret", ""), this.#i.innerHTML = st, this.#e.appendChild(this.#i);
3013
+ this.#e = document.createElement("div"), this.#e.setAttribute("data-label", ""), this.#e.setAttribute("tabindex", "0"), this.#i = document.createElement("span"), this.#i.setAttribute("data-caret", ""), this.#i.innerHTML = dt, this.#e.appendChild(this.#i);
2976
3014
  const i = this.querySelector(":scope > [data-trigger]");
2977
3015
  if (i)
2978
3016
  this.#e.appendChild(i);
@@ -3008,7 +3046,7 @@ class he extends d {
3008
3046
  this.disabled || (t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.#s()) : t.key === "ArrowRight" && this.expandable && !this.expanded ? (t.preventDefault(), this.expanded = !0) : t.key === "ArrowLeft" && this.expanded && (t.preventDefault(), this.expanded = !1));
3009
3047
  };
3010
3048
  }
3011
- class oe extends d {
3049
+ class Ae extends d {
3012
3050
  static attributes = {
3013
3051
  align: { type: "enum", values: ["end"], default: "" },
3014
3052
  scrollable: { type: "boolean", default: !1 },
@@ -3035,24 +3073,34 @@ class oe extends d {
3035
3073
  this.#i();
3036
3074
  }
3037
3075
  }
3038
- class le extends d {
3076
+ class ye extends d {
3039
3077
  activate() {
3040
3078
  }
3041
3079
  }
3042
- const nt = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><rect x="40" y="40" width="176" height="176" rx="8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="176" y1="24" x2="176" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="80" y1="24" x2="80" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="40" y1="88" x2="216" y2="88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>', at = '<svg viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><polyline points="48,80 128,160 208,80" fill="none" stroke="currentColor" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/></svg>';
3043
- function rt(h, t) {
3044
- if (!h) return "";
3045
- const [e, i, s] = h.split("-").map(Number);
3046
- return !e || !i || !s ? h : t.replace("YYYY", String(e).padStart(4, "0")).replace("yyyy", String(e).padStart(4, "0")).replace("MM", String(i).padStart(2, "0")).replace("DD", String(s).padStart(2, "0")).replace("dd", String(s).padStart(2, "0"));
3080
+ const ct = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><rect x="40" y="40" width="176" height="176" rx="8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="176" y1="24" x2="176" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="80" y1="24" x2="80" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="40" y1="88" x2="216" y2="88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>', ut = '<svg viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><polyline points="48,80 128,160 208,80" fill="none" stroke="currentColor" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/></svg>';
3081
+ function pt(o, t) {
3082
+ if (!o) return "";
3083
+ const [e, i, s] = o.split("-").map(Number);
3084
+ if (!e || !i || !s) return o;
3085
+ const n = new Date(e, i - 1, s);
3086
+ switch (t) {
3087
+ case "long":
3088
+ return n.toLocaleDateString(void 0, { year: "numeric", month: "long", day: "numeric" });
3089
+ case "medium":
3090
+ return n.toLocaleDateString(void 0, { year: "numeric", month: "short", day: "numeric" });
3091
+ case "short":
3092
+ return n.toLocaleDateString(void 0, { year: "numeric", month: "2-digit", day: "2-digit" });
3093
+ }
3094
+ return t.replace("YYYY", String(e).padStart(4, "0")).replace("yyyy", String(e).padStart(4, "0")).replace("MM", String(i).padStart(2, "0")).replace("DD", String(s).padStart(2, "0")).replace("dd", String(s).padStart(2, "0"));
3047
3095
  }
3048
- class de extends d {
3096
+ class Ee extends d {
3049
3097
  static attributes = {
3050
3098
  value: { type: "string", default: "" },
3051
3099
  placeholder: { type: "string", default: "Select date" },
3052
3100
  min: { type: "string", default: "" },
3053
3101
  max: { type: "string", default: "" },
3054
3102
  disabled: { type: "boolean", default: !1 },
3055
- format: { type: "string", default: "YYYY-MM-DD" },
3103
+ format: { type: "string", default: "medium" },
3056
3104
  open: { type: "boolean", default: !1 }
3057
3105
  };
3058
3106
  // ── Internal references ────────────────────────────────────
@@ -3069,16 +3117,16 @@ class de extends d {
3069
3117
  const t = `cal-picker-${crypto.randomUUID().slice(0, 8)}`;
3070
3118
  this.#e = `--${t}`, this.#t = document.createElement("span"), this.#t.setAttribute("data-trigger", ""), this.#t.setAttribute("role", "combobox"), this.#t.setAttribute("aria-haspopup", "dialog"), this.#t.setAttribute("tabindex", "0"), this.#t.id = t, this.#i = document.createElement("span"), this.#i.setAttribute("data-label", ""), this.#t.appendChild(this.#i);
3071
3119
  const e = document.createElement("span");
3072
- e.setAttribute("data-icon", ""), e.innerHTML = nt, this.#t.appendChild(e), this.#s = document.createElement("span"), this.#s.setAttribute("data-chevron", ""), this.#s.innerHTML = at, this.#t.appendChild(this.#s), this.#n = document.createElement("div"), this.#n.setAttribute("popover", "manual"), this.#n.setAttribute("data-dropdown", ""), this.#a = document.createElement("aui-calendar"), this.#n.appendChild(this.#a), this.appendChild(this.#t), this.appendChild(this.#n), this.#t.style.anchorName = this.#e, this.style.setProperty("--_anchor", this.#e), this.addEffect(() => {
3073
- this.disabled ? this.#t.setAttribute("tabindex", "-1") : this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("aria-expanded", String(this.open)), this.#t.setAttribute("aria-disabled", String(this.disabled)), this.#o();
3120
+ e.setAttribute("data-icon", ""), e.innerHTML = ct, this.#t.appendChild(e), this.#s = document.createElement("span"), this.#s.setAttribute("data-chevron", ""), this.#s.innerHTML = ut, this.#t.appendChild(this.#s), this.#n = document.createElement("div"), this.#n.setAttribute("popover", "manual"), this.#n.setAttribute("data-dropdown", ""), this.#a = document.createElement("aui-calendar"), this.#n.appendChild(this.#a), this.appendChild(this.#t), this.appendChild(this.#n), this.#t.style.anchorName = this.#e, this.style.setProperty("--_anchor", this.#e), this.addEffect(() => {
3121
+ this.disabled ? this.#t.setAttribute("tabindex", "-1") : this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("aria-expanded", String(this.open)), this.#t.setAttribute("aria-disabled", String(this.disabled)), this.#h();
3074
3122
  }), this.addEffect(() => {
3075
3123
  this.min ? this.#a.setAttribute("min", this.min) : this.#a.removeAttribute("min"), this.max ? this.#a.setAttribute("max", this.max) : this.#a.removeAttribute("max");
3076
3124
  }), this.addEffect(() => {
3077
3125
  this.value ? this.#a.setAttribute("value", this.value) : this.#a.removeAttribute("value");
3078
- }), this.#t.addEventListener("click", this.#l), this.#t.addEventListener("keydown", this.#d), this.#a.addEventListener("change", this.#u), document.addEventListener("click", this.#p), document.addEventListener("keydown", this.#f);
3126
+ }), this.#t.addEventListener("click", this.#l), this.#t.addEventListener("keydown", this.#d), this.#a.addEventListener("change", this.#u), document.addEventListener("click", this.#c), document.addEventListener("keydown", this.#f);
3079
3127
  }
3080
3128
  dispose() {
3081
- this.#t?.removeEventListener("click", this.#l), this.#t?.removeEventListener("keydown", this.#d), this.#a?.removeEventListener("change", this.#u), document.removeEventListener("click", this.#p), document.removeEventListener("keydown", this.#f), this.#h();
3129
+ this.#t?.removeEventListener("click", this.#l), this.#t?.removeEventListener("keydown", this.#d), this.#a?.removeEventListener("change", this.#u), document.removeEventListener("click", this.#c), document.removeEventListener("keydown", this.#f), this.#o();
3082
3130
  }
3083
3131
  // ════════════════════════════════════════════════════════════
3084
3132
  // Popover control
@@ -3092,7 +3140,7 @@ class de extends d {
3092
3140
  this.open = !0, this.#a?.focus();
3093
3141
  }
3094
3142
  }
3095
- #h() {
3143
+ #o() {
3096
3144
  if (this.#n) {
3097
3145
  try {
3098
3146
  this.#n.hidePopover();
@@ -3104,22 +3152,22 @@ class de extends d {
3104
3152
  // ════════════════════════════════════════════════════════════
3105
3153
  // Display
3106
3154
  // ════════════════════════════════════════════════════════════
3107
- #o() {
3108
- this.#i && (this.value ? (this.#i.textContent = rt(this.value, this.format), this.#i.removeAttribute("data-placeholder")) : (this.#i.textContent = this.placeholder, this.#i.setAttribute("data-placeholder", "")));
3155
+ #h() {
3156
+ this.#i && (this.value ? (this.#i.textContent = pt(this.value, this.format), this.#i.removeAttribute("data-placeholder")) : (this.#i.textContent = this.placeholder, this.#i.setAttribute("data-placeholder", "")));
3109
3157
  }
3110
3158
  // ════════════════════════════════════════════════════════════
3111
3159
  // Event handlers
3112
3160
  // ════════════════════════════════════════════════════════════
3113
3161
  #l = () => {
3114
- this.disabled || (this.open ? this.#h() : this.#r());
3162
+ this.disabled || (this.open ? this.#o() : this.#r());
3115
3163
  };
3116
3164
  #d = (t) => {
3117
- t.key === "ArrowDown" || t.key === "ArrowUp" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.open || this.#r()) : t.key === "Escape" && this.#h();
3165
+ t.key === "ArrowDown" || t.key === "ArrowUp" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.open || this.#r()) : t.key === "Escape" && this.#o();
3118
3166
  };
3119
3167
  #u = (t) => {
3120
3168
  t.stopPropagation();
3121
3169
  const e = t.detail?.value ?? "";
3122
- this.value = e, this.#o(), this.#h(), this.#t?.focus(), this.dispatchEvent(new CustomEvent("change", {
3170
+ this.value = e, this.#h(), this.#o(), this.#t?.focus(), this.dispatchEvent(new CustomEvent("change", {
3123
3171
  bubbles: !0,
3124
3172
  composed: !0,
3125
3173
  detail: {
@@ -3128,20 +3176,20 @@ class de extends d {
3128
3176
  }
3129
3177
  }));
3130
3178
  };
3131
- #p = (t) => {
3132
- this.open && !this.contains(t.target) && this.#h();
3179
+ #c = (t) => {
3180
+ this.open && !this.contains(t.target) && this.#o();
3133
3181
  };
3134
3182
  #f = (t) => {
3135
- t.key === "Escape" && this.open && (this.#h(), this.#t?.focus());
3183
+ t.key === "Escape" && this.open && (this.#o(), this.#t?.focus());
3136
3184
  };
3137
3185
  }
3138
- const ht = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><rect x="40" y="40" width="176" height="176" rx="8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="176" y1="24" x2="176" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="80" y1="24" x2="80" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="40" y1="88" x2="216" y2="88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>', ot = '<svg viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><polyline points="48,80 128,160 208,80" fill="none" stroke="currentColor" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/></svg>';
3139
- function I(h) {
3140
- if (!h) return "";
3141
- const [t, e, i] = h.split("-").map(Number);
3142
- return !t || !e || !i ? h : `${["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][e - 1]} ${i}`;
3186
+ const ft = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><rect x="40" y="40" width="176" height="176" rx="8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="176" y1="24" x2="176" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="80" y1="24" x2="80" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="40" y1="88" x2="216" y2="88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>', bt = '<svg viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><polyline points="48,80 128,160 208,80" fill="none" stroke="currentColor" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/></svg>';
3187
+ function F(o) {
3188
+ if (!o) return "";
3189
+ const [t, e, i] = o.split("-").map(Number);
3190
+ return !t || !e || !i ? o : `${["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][e - 1]} ${i}`;
3143
3191
  }
3144
- class ue extends d {
3192
+ class xe extends d {
3145
3193
  static attributes = {
3146
3194
  start: { type: "string", default: "" },
3147
3195
  end: { type: "string", default: "" },
@@ -3165,16 +3213,16 @@ class ue extends d {
3165
3213
  const t = `cal-range-${crypto.randomUUID().slice(0, 8)}`;
3166
3214
  this.#e = `--${t}`, this.#t = document.createElement("span"), this.#t.setAttribute("data-trigger", ""), this.#t.setAttribute("role", "combobox"), this.#t.setAttribute("aria-haspopup", "dialog"), this.#t.setAttribute("tabindex", "0"), this.#t.id = t, this.#i = document.createElement("span"), this.#i.setAttribute("data-label", ""), this.#t.appendChild(this.#i);
3167
3215
  const e = document.createElement("span");
3168
- e.setAttribute("data-icon", ""), e.innerHTML = ht, this.#t.appendChild(e), this.#s = document.createElement("span"), this.#s.setAttribute("data-chevron", ""), this.#s.innerHTML = ot, this.#t.appendChild(this.#s), this.#n = document.createElement("div"), this.#n.setAttribute("popover", "manual"), this.#n.setAttribute("data-dropdown", ""), this.#a = document.createElement("aui-calendar"), this.#a.setAttribute("range", ""), this.#n.appendChild(this.#a), this.appendChild(this.#t), this.appendChild(this.#n), this.#t.style.anchorName = this.#e, this.style.setProperty("--_anchor", this.#e), this.addEffect(() => {
3169
- this.disabled ? this.#t.setAttribute("tabindex", "-1") : this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("aria-expanded", String(this.open)), this.#t.setAttribute("aria-disabled", String(this.disabled)), this.#o();
3216
+ e.setAttribute("data-icon", ""), e.innerHTML = ft, this.#t.appendChild(e), this.#s = document.createElement("span"), this.#s.setAttribute("data-chevron", ""), this.#s.innerHTML = bt, this.#t.appendChild(this.#s), this.#n = document.createElement("div"), this.#n.setAttribute("popover", "manual"), this.#n.setAttribute("data-dropdown", ""), this.#a = document.createElement("aui-calendar"), this.#a.setAttribute("range", ""), this.#n.appendChild(this.#a), this.appendChild(this.#t), this.appendChild(this.#n), this.#t.style.anchorName = this.#e, this.style.setProperty("--_anchor", this.#e), this.addEffect(() => {
3217
+ this.disabled ? this.#t.setAttribute("tabindex", "-1") : this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("aria-expanded", String(this.open)), this.#t.setAttribute("aria-disabled", String(this.disabled)), this.#h();
3170
3218
  }), this.addEffect(() => {
3171
3219
  this.min ? this.#a.setAttribute("min", this.min) : this.#a.removeAttribute("min"), this.max ? this.#a.setAttribute("max", this.max) : this.#a.removeAttribute("max");
3172
3220
  }), this.addEffect(() => {
3173
3221
  this.start ? this.#a.setAttribute("start", this.start) : this.#a.removeAttribute("start"), this.end ? this.#a.setAttribute("end", this.end) : this.#a.removeAttribute("end");
3174
- }), this.#t.addEventListener("click", this.#l), this.#t.addEventListener("keydown", this.#d), this.#a.addEventListener("aui:range-select", this.#u), document.addEventListener("click", this.#p), document.addEventListener("keydown", this.#f);
3222
+ }), this.#t.addEventListener("click", this.#l), this.#t.addEventListener("keydown", this.#d), this.#a.addEventListener("aui:range-select", this.#u), document.addEventListener("click", this.#c), document.addEventListener("keydown", this.#f);
3175
3223
  }
3176
3224
  dispose() {
3177
- this.#t?.removeEventListener("click", this.#l), this.#t?.removeEventListener("keydown", this.#d), this.#a?.removeEventListener("aui:range-select", this.#u), document.removeEventListener("click", this.#p), document.removeEventListener("keydown", this.#f), this.#h();
3225
+ this.#t?.removeEventListener("click", this.#l), this.#t?.removeEventListener("keydown", this.#d), this.#a?.removeEventListener("aui:range-select", this.#u), document.removeEventListener("click", this.#c), document.removeEventListener("keydown", this.#f), this.#o();
3178
3226
  }
3179
3227
  // ════════════════════════════════════════════════════════════
3180
3228
  // Popover control
@@ -3188,7 +3236,7 @@ class ue extends d {
3188
3236
  this.open = !0, this.#a?.focus();
3189
3237
  }
3190
3238
  }
3191
- #h() {
3239
+ #o() {
3192
3240
  if (this.#n) {
3193
3241
  try {
3194
3242
  this.#n.hidePopover();
@@ -3200,54 +3248,54 @@ class ue extends d {
3200
3248
  // ════════════════════════════════════════════════════════════
3201
3249
  // Display
3202
3250
  // ════════════════════════════════════════════════════════════
3203
- #o() {
3204
- this.#i && (this.start && this.end ? (this.#i.textContent = `${I(this.start)} — ${I(this.end)}`, this.#i.removeAttribute("data-placeholder")) : this.start ? (this.#i.textContent = `${I(this.start)} — ...`, this.#i.removeAttribute("data-placeholder")) : (this.#i.textContent = this.placeholder, this.#i.setAttribute("data-placeholder", "")));
3251
+ #h() {
3252
+ this.#i && (this.start && this.end ? (this.#i.textContent = `${F(this.start)} — ${F(this.end)}`, this.#i.removeAttribute("data-placeholder")) : this.start ? (this.#i.textContent = `${F(this.start)} — ...`, this.#i.removeAttribute("data-placeholder")) : (this.#i.textContent = this.placeholder, this.#i.setAttribute("data-placeholder", "")));
3205
3253
  }
3206
3254
  // ════════════════════════════════════════════════════════════
3207
3255
  // Event handlers
3208
3256
  // ════════════════════════════════════════════════════════════
3209
3257
  #l = () => {
3210
- this.disabled || (this.open ? this.#h() : this.#r());
3258
+ this.disabled || (this.open ? this.#o() : this.#r());
3211
3259
  };
3212
3260
  #d = (t) => {
3213
- t.key === "ArrowDown" || t.key === "ArrowUp" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.open || this.#r()) : t.key === "Escape" && this.#h();
3261
+ t.key === "ArrowDown" || t.key === "ArrowUp" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.open || this.#r()) : t.key === "Escape" && this.#o();
3214
3262
  };
3215
3263
  #u = (t) => {
3216
3264
  t.stopPropagation();
3217
3265
  const e = t.detail?.start ?? "", i = t.detail?.end ?? "";
3218
- this.start = e, this.end = i, this.#o(), this.#h(), this.#t?.focus(), this.dispatchEvent(new CustomEvent("change", {
3266
+ this.start = e, this.end = i, this.#h(), this.#o(), this.#t?.focus(), this.dispatchEvent(new CustomEvent("change", {
3219
3267
  bubbles: !0,
3220
3268
  composed: !0,
3221
3269
  detail: { start: e, end: i }
3222
3270
  }));
3223
3271
  };
3224
- #p = (t) => {
3225
- this.open && !this.contains(t.target) && this.#h();
3272
+ #c = (t) => {
3273
+ this.open && !this.contains(t.target) && this.#o();
3226
3274
  };
3227
3275
  #f = (t) => {
3228
- t.key === "Escape" && this.open && (this.#h(), this.#t?.focus());
3276
+ t.key === "Escape" && this.open && (this.#o(), this.#t?.focus());
3229
3277
  };
3230
3278
  }
3231
- class ce extends d {
3279
+ class we extends d {
3232
3280
  activate() {
3233
3281
  this.setAttribute("role", "application");
3234
3282
  }
3235
3283
  }
3236
- class pe extends d {
3284
+ class Ce extends d {
3237
3285
  activate() {
3238
3286
  this.setAttribute("role", "main");
3239
3287
  }
3240
3288
  }
3241
- class fe extends d {
3289
+ class ke extends d {
3242
3290
  }
3243
- class be extends d {
3291
+ class Le extends d {
3244
3292
  activate() {
3245
3293
  this.setAttribute("role", "navigation"), this.setAttribute("aria-label", "Breadcrumb");
3246
3294
  }
3247
3295
  }
3248
- const B = document.createElement("template");
3249
- B.innerHTML = "<aui-sidebar-resize-handle></aui-sidebar-resize-handle>";
3250
- class me extends d {
3296
+ const j = document.createElement("template");
3297
+ j.innerHTML = "<aui-sidebar-resize-handle></aui-sidebar-resize-handle>";
3298
+ class Se extends d {
3251
3299
  static attributes = {
3252
3300
  width: { type: "string", default: "240" },
3253
3301
  "min-width": { type: "string", default: "56" },
@@ -3257,7 +3305,7 @@ class me extends d {
3257
3305
  side: { type: "enum", values: ["left", "right"], default: "left" },
3258
3306
  disabled: { type: "boolean", default: !1 }
3259
3307
  };
3260
- #e = V(240);
3308
+ #e = J(240);
3261
3309
  #t = 56;
3262
3310
  #i = 480;
3263
3311
  // Resize state
@@ -3265,13 +3313,13 @@ class me extends d {
3265
3313
  #n = !1;
3266
3314
  #a = 0;
3267
3315
  #r = 0;
3268
- #h = -1;
3316
+ #o = -1;
3269
3317
  activate() {
3270
3318
  this.setAttribute("role", "complementary");
3271
3319
  const t = parseInt(this.getAttribute("width") ?? "", 10);
3272
3320
  t > 0 && (this.#e.value = t), this.#t = parseInt(this.getAttribute("min-width") ?? "", 10) || 56, this.#i = parseInt(this.getAttribute("max-width") ?? "", 10) || 480;
3273
- const e = B.content.cloneNode(!0);
3274
- this.#s = e.querySelector("aui-sidebar-resize-handle"), this.appendChild(e), this.#s.addEventListener("pointerdown", this.#o), this.addEffect(() => {
3321
+ const e = j.content.cloneNode(!0);
3322
+ this.#s = e.querySelector("aui-sidebar-resize-handle"), this.appendChild(e), this.#s.addEventListener("pointerdown", this.#h), this.addEffect(() => {
3275
3323
  const i = this.#e.value;
3276
3324
  this.style.setProperty("--aui-sidebar-width", `${i}px`);
3277
3325
  });
@@ -3293,8 +3341,8 @@ class me extends d {
3293
3341
  this.collapsed ? this.expand() : this.collapse();
3294
3342
  }
3295
3343
  // ── Resize ──
3296
- #o = (t) => {
3297
- this.disabled || this.collapsed || (t.preventDefault(), this.#n = !0, this.#a = t.clientX, this.#r = P(() => this.#e.value), this.#h = t.pointerId, this.setAttribute("data-sidebar-resizing", ""), this.#s.setPointerCapture(t.pointerId), document.documentElement.setAttribute("data-sidebar-resizing", ""), this.#s.addEventListener("pointermove", this.#l), this.#s.addEventListener("pointerup", this.#d), this.#s.addEventListener("pointercancel", this.#d));
3344
+ #h = (t) => {
3345
+ this.disabled || this.collapsed || (t.preventDefault(), this.#n = !0, this.#a = t.clientX, this.#r = N(() => this.#e.value), this.#o = t.pointerId, this.setAttribute("data-sidebar-resizing", ""), this.#s.setPointerCapture(t.pointerId), document.documentElement.setAttribute("data-sidebar-resizing", ""), this.#s.addEventListener("pointermove", this.#l), this.#s.addEventListener("pointerup", this.#d), this.#s.addEventListener("pointercancel", this.#d));
3298
3346
  };
3299
3347
  #l = (t) => {
3300
3348
  if (!this.#n) return;
@@ -3302,32 +3350,32 @@ class me extends d {
3302
3350
  this.#e.value = s;
3303
3351
  };
3304
3352
  #d = () => {
3305
- this.#n && (this.#n = !1, this.removeAttribute("data-sidebar-resizing"), document.documentElement.removeAttribute("data-sidebar-resizing"), this.#h >= 0 && this.#s && this.#s.releasePointerCapture(this.#h), this.#h = -1, this.#s?.removeEventListener("pointermove", this.#l), this.#s?.removeEventListener("pointerup", this.#d), this.#s?.removeEventListener("pointercancel", this.#d), this.dispatchEvent(new CustomEvent("aui:sidebar-resize", {
3353
+ this.#n && (this.#n = !1, this.removeAttribute("data-sidebar-resizing"), document.documentElement.removeAttribute("data-sidebar-resizing"), this.#o >= 0 && this.#s && this.#s.releasePointerCapture(this.#o), this.#o = -1, this.#s?.removeEventListener("pointermove", this.#l), this.#s?.removeEventListener("pointerup", this.#d), this.#s?.removeEventListener("pointercancel", this.#d), this.dispatchEvent(new CustomEvent("aui:sidebar-resize", {
3306
3354
  bubbles: !0,
3307
- detail: { width: P(() => this.#e.value) }
3355
+ detail: { width: N(() => this.#e.value) }
3308
3356
  })));
3309
3357
  };
3310
3358
  // ── Cleanup ──
3311
3359
  dispose() {
3312
- this.#s?.removeEventListener("pointerdown", this.#o), this.#s?.remove(), this.#s = null, document.documentElement.removeAttribute("data-sidebar-resizing");
3360
+ this.#s?.removeEventListener("pointerdown", this.#h), this.#s?.remove(), this.#s = null, document.documentElement.removeAttribute("data-sidebar-resizing");
3313
3361
  }
3314
3362
  }
3315
- class ve extends d {
3363
+ class Me extends d {
3316
3364
  activate() {
3317
3365
  this.setAttribute("role", "none");
3318
3366
  }
3319
3367
  }
3320
- class ge extends d {
3368
+ class De extends d {
3321
3369
  activate() {
3322
3370
  this.setAttribute("role", "none");
3323
3371
  }
3324
3372
  }
3325
- class ye extends d {
3373
+ class Ie extends d {
3326
3374
  activate() {
3327
3375
  this.setAttribute("role", "none");
3328
3376
  }
3329
3377
  }
3330
- class Ae extends d {
3378
+ class Te extends d {
3331
3379
  static attributes = {
3332
3380
  value: { type: "string", default: "0" }
3333
3381
  };
@@ -3338,7 +3386,7 @@ class Ae extends d {
3338
3386
  });
3339
3387
  }
3340
3388
  }
3341
- class Ee extends d {
3389
+ class Pe extends d {
3342
3390
  static attributes = {
3343
3391
  language: { type: "string", default: "" },
3344
3392
  filename: { type: "string", default: "" },
@@ -3362,25 +3410,16 @@ class Ee extends d {
3362
3410
  if (e && !this.#e) {
3363
3411
  this.#e = document.createElement("div"), this.#e.setAttribute("data-code-header", ""), this.#t = document.createElement("span"), this.#t.setAttribute("data-code-label", ""), this.#e.appendChild(this.#t);
3364
3412
  const i = document.createElement("span");
3365
- i.style.flex = "1", this.#e.appendChild(i), this.#i = document.createElement("button"), this.#i.setAttribute("data-code-copy", ""), this.#i.textContent = "Copy", this.#i.addEventListener("click", this.#n), this.#e.appendChild(this.#i), this.insertBefore(this.#e, this.#s);
3413
+ i.style.flex = "1", this.#e.appendChild(i), this.#i = document.createElement("aui-copy-button"), this.#i.setAttribute("data-code-copy", ""), this.#i.setAttribute("size", "sm"), this.#e.appendChild(this.#i), this.insertBefore(this.#e, this.#s);
3366
3414
  }
3367
- this.#t && (this.#t.textContent = t), this.#i && (this.#i.style.display = this.copyable ? "" : "none"), !e && this.#e && (this.#e.remove(), this.#e = null, this.#t = null, this.#i = null);
3415
+ this.#t && (this.#t.textContent = t), this.#i && (this.#i.style.display = this.copyable ? "" : "none", this.copyable && this.#s && this.#i.setAttribute("value", this.#s.textContent ?? "")), !e && this.#e && (this.#e.remove(), this.#e = null, this.#t = null, this.#i = null);
3368
3416
  }), this.addEffect(() => {
3369
3417
  const t = this["max-height"];
3370
3418
  t && this.#s ? (this.#s.style.maxHeight = t, this.#s.style.overflow = "auto") : this.#s && (this.#s.style.removeProperty("max-height"), this.#s.style.removeProperty("overflow"));
3371
3419
  });
3372
3420
  }
3373
- #n = async () => {
3374
- const t = this.#s?.textContent ?? "";
3375
- try {
3376
- await navigator.clipboard.writeText(t), this.#i && (this.#i.textContent = "Copied!", setTimeout(() => {
3377
- this.#i && (this.#i.textContent = "Copy");
3378
- }, 1500));
3379
- } catch {
3380
- }
3381
- };
3382
3421
  }
3383
- class xe extends d {
3422
+ class qe extends d {
3384
3423
  static attributes = {
3385
3424
  values: { type: "string", default: "" },
3386
3425
  color: { type: "string", default: "1" },
@@ -3402,13 +3441,13 @@ class xe extends d {
3402
3441
  let a = -1;
3403
3442
  n === "last" ? a = e.length - 1 : n === "max" && (a = e.indexOf(i)), this.innerHTML = "";
3404
3443
  for (let r = 0; r < e.length; r++) {
3405
- const o = i > 0 ? e[r] / i * 100 : 0, l = document.createElement("div");
3406
- l.setAttribute("data-sparkline-bar", ""), l.style.height = `${o}%`, l.style.background = s, r !== a && n !== "none" && (l.style.opacity = "0.4"), this.appendChild(l);
3444
+ const h = i > 0 ? e[r] / i * 100 : 0, l = document.createElement("div");
3445
+ l.setAttribute("data-sparkline-bar", ""), l.style.height = `${h}%`, l.style.background = s, r !== a && n !== "none" && (l.style.opacity = "0.4"), this.appendChild(l);
3407
3446
  }
3408
3447
  });
3409
3448
  }
3410
3449
  }
3411
- class we extends d {
3450
+ class Fe extends d {
3412
3451
  static attributes = {
3413
3452
  removable: { type: "boolean", default: !1 }
3414
3453
  };
@@ -3421,13 +3460,13 @@ class we extends d {
3421
3460
  }
3422
3461
  #t() {
3423
3462
  if (!this.removable) return;
3424
- const t = document.createElement("button");
3425
- t.setAttribute("data-chip-remove", ""), t.setAttribute("aria-label", "Remove"), t.innerHTML = '<aui-icon name="x" size="xs"></aui-icon>', t.addEventListener("click", () => {
3463
+ const t = document.createElement("aui-button");
3464
+ t.setAttribute("ghost", ""), t.setAttribute("hide-label", ""), t.setAttribute("label", "Remove"), t.setAttribute("icon-leading", "x"), t.setAttribute("size", "sm"), t.setAttribute("data-chip-remove", ""), t.addEventListener("click", () => {
3426
3465
  this.dispatchEvent(new CustomEvent("remove", { bubbles: !0 })), this.remove();
3427
3466
  }), this.append(t), this.#e = t;
3428
3467
  }
3429
3468
  }
3430
- class ke extends d {
3469
+ class Re extends d {
3431
3470
  static attributes = {
3432
3471
  summary: { type: "string", default: "" },
3433
3472
  open: { type: "boolean", default: !1 }
@@ -3452,10 +3491,10 @@ class ke extends d {
3452
3491
  );
3453
3492
  }
3454
3493
  #i() {
3455
- const t = Array.from(this.childNodes), e = document.createElement("button");
3456
- e.setAttribute("data-disclosure-trigger", ""), e.setAttribute("aria-expanded", String(this.hasAttribute("open"))), e.innerHTML = `
3494
+ const t = Array.from(this.childNodes), e = document.createElement("aui-button");
3495
+ e.setAttribute("ghost", ""), e.setAttribute("width", "full"), e.setAttribute("data-disclosure-trigger", ""), e.setAttribute("aria-expanded", String(this.hasAttribute("open"))), e.innerHTML = `
3457
3496
  <span data-disclosure-label>${this.getAttribute("summary") || ""}</span>
3458
- <aui-icon name="chevron-down" size="xs" data-disclosure-chevron></aui-icon>
3497
+ <aui-icon name="caret-down" size="xs" data-disclosure-chevron></aui-icon>
3459
3498
  `, e.addEventListener("click", this.#t), this.#e = e;
3460
3499
  const i = document.createElement("div");
3461
3500
  i.setAttribute("data-disclosure-inner", "");
@@ -3465,7 +3504,7 @@ class ke extends d {
3465
3504
  s.setAttribute("data-disclosure-content", ""), s.appendChild(i), this.appendChild(e), this.appendChild(s);
3466
3505
  }
3467
3506
  }
3468
- class Ce extends d {
3507
+ class Oe extends d {
3469
3508
  static attributes = {
3470
3509
  max: { type: "string", default: "" },
3471
3510
  size: { type: "string", default: "" }
@@ -3495,7 +3534,7 @@ class Ce extends d {
3495
3534
  e.setAttribute("size", this.size);
3496
3535
  }
3497
3536
  }
3498
- class Le extends d {
3537
+ class Ne extends d {
3499
3538
  static attributes = {
3500
3539
  value: { type: "string", default: "0" },
3501
3540
  label: { type: "string", default: "" }
@@ -3531,7 +3570,7 @@ class Le extends d {
3531
3570
  this.#i.textContent = t, this.#i.style.display = t ? "" : "none";
3532
3571
  }
3533
3572
  }
3534
- class Se extends d {
3573
+ class ze extends d {
3535
3574
  static attributes = {
3536
3575
  exclusive: { type: "boolean", default: !1 }
3537
3576
  };
@@ -3573,7 +3612,7 @@ class Se extends d {
3573
3612
  }).observe(this, { childList: !0 });
3574
3613
  }
3575
3614
  }
3576
- class De extends d {
3615
+ class He extends d {
3577
3616
  static attributes = {
3578
3617
  label: { type: "string", default: "" },
3579
3618
  max: { type: "string", default: "" }
@@ -3641,112 +3680,235 @@ class De extends d {
3641
3680
  return t ? this.#e().length >= t : !1;
3642
3681
  }
3643
3682
  }
3644
- class Ie extends d {
3683
+ function X(o, t, e) {
3684
+ const i = e * Math.PI / 180;
3685
+ return [o, t * Math.cos(i), t * Math.sin(i)];
3686
+ }
3687
+ function mt(o, t, e) {
3688
+ const i = Math.sqrt(t * t + e * e);
3689
+ let s = Math.atan2(e, t) * 180 / Math.PI;
3690
+ return s < 0 && (s += 360), [o, i, s];
3691
+ }
3692
+ function W(o, t, e) {
3693
+ const i = o + 0.3963377774 * t + 0.2158037573 * e, s = o - 0.1055613458 * t - 0.0638541728 * e, n = o - 0.0894841775 * t - 1.291485548 * e, a = i * i * i, r = s * s * s, h = n * n * n;
3694
+ return [
3695
+ 4.0767416621 * a - 3.3077115913 * r + 0.2309699292 * h,
3696
+ -1.2684380046 * a + 2.6097574011 * r - 0.3413193965 * h,
3697
+ -0.0041960863 * a - 0.7034186147 * r + 1.707614701 * h
3698
+ ];
3699
+ }
3700
+ function vt(o, t, e) {
3701
+ const i = 0.4122214708 * o + 0.5363325363 * t + 0.0514459929 * e, s = 0.2119034982 * o + 0.6806995451 * t + 0.1073969566 * e, n = 0.0883024619 * o + 0.2817188376 * t + 0.6299787005 * e, a = Math.cbrt(i), r = Math.cbrt(s), h = Math.cbrt(n);
3702
+ return [
3703
+ 0.2104542553 * a + 0.793617785 * r - 0.0040720468 * h,
3704
+ 1.9779984951 * a - 2.428592205 * r + 0.4505937099 * h,
3705
+ 0.0259040371 * a + 0.7827717662 * r - 0.808675766 * h
3706
+ ];
3707
+ }
3708
+ function S(o) {
3709
+ return o <= 31308e-7 ? 12.92 * o : 1.055 * Math.pow(o, 1 / 2.4) - 0.055;
3710
+ }
3711
+ function R(o) {
3712
+ return o <= 0.04045 ? o / 12.92 : Math.pow((o + 0.055) / 1.055, 2.4);
3713
+ }
3714
+ function T(o) {
3715
+ return Math.max(0, Math.min(1, o));
3716
+ }
3717
+ function C(o, t, e, i = 1) {
3718
+ const [s, n, a] = X(o, t, e), [r, h, l] = W(s, n, a), c = T(S(r)), u = T(S(h)), f = T(S(l)), p = (v) => Math.round(v * 255).toString(16).padStart(2, "0");
3719
+ let m = `#${p(c)}${p(u)}${p(f)}`;
3720
+ return i < 1 && (m += p(T(i))), m;
3721
+ }
3722
+ function gt(o) {
3723
+ let t = 0, e = 0, i = 0, s = 1;
3724
+ o = o.replace(/^#/, ""), o.length === 3 || o.length === 4 ? (t = parseInt(o[0] + o[0], 16) / 255, e = parseInt(o[1] + o[1], 16) / 255, i = parseInt(o[2] + o[2], 16) / 255, o.length === 4 && (s = parseInt(o[3] + o[3], 16) / 255)) : (o.length === 6 || o.length === 8) && (t = parseInt(o.slice(0, 2), 16) / 255, e = parseInt(o.slice(2, 4), 16) / 255, i = parseInt(o.slice(4, 6), 16) / 255, o.length === 8 && (s = parseInt(o.slice(6, 8), 16) / 255));
3725
+ const n = R(t), a = R(e), r = R(i), [h, l, c] = vt(n, a, r), [u, f, p] = mt(h, l, c);
3726
+ return {
3727
+ l: Math.round(u * 1e3) / 1e3,
3728
+ c: Math.round(f * 1e3) / 1e3,
3729
+ h: Math.round(p * 10) / 10,
3730
+ a: Math.round(s * 100) / 100
3731
+ };
3732
+ }
3733
+ function B(o, t, e, i) {
3734
+ const s = Math.round(o * 1e3) / 1e3, n = Math.round(t * 1e3) / 1e3, a = Math.round(e * 10) / 10;
3735
+ return i !== void 0 && i < 1 ? `oklch(${s} ${n} ${a} / ${Math.round(i * 100) / 100})` : `oklch(${s} ${n} ${a})`;
3736
+ }
3737
+ function At(o) {
3738
+ const t = o.match(/oklch\(\s*([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+))?\s*\)/);
3739
+ return t ? {
3740
+ l: parseFloat(t[1]),
3741
+ c: parseFloat(t[2]),
3742
+ h: parseFloat(t[3]),
3743
+ a: t[4] !== void 0 ? parseFloat(t[4]) : 1
3744
+ } : null;
3745
+ }
3746
+ function V(o, t, e) {
3747
+ const [i, s, n] = X(o, t, e), [a, r, h] = W(i, s, n), l = S(a), c = S(r), u = S(h), f = 1e-3;
3748
+ return l >= -f && l <= 1 + f && c >= -f && c <= 1 + f && u >= -f && u <= 1 + f;
3749
+ }
3750
+ class L extends d {
3645
3751
  static attributes = {
3646
3752
  hue: { type: "string", default: "0" },
3647
- saturation: { type: "string", default: "100" },
3648
- lightness: { type: "string", default: "50" },
3753
+ chroma: { type: "string", default: "0.15" },
3754
+ lightness: { type: "string", default: "0.65" },
3649
3755
  disabled: { type: "boolean", default: !1 }
3650
3756
  };
3651
3757
  #e = null;
3652
3758
  #t = null;
3759
+ static MAX_CHROMA = 0.4;
3653
3760
  activate() {
3654
- this.querySelector("[data-color-area-gradient]") ? this.#e = this.querySelector("[data-color-area-gradient]") : (this.#e = document.createElement("div"), this.#e.setAttribute("data-color-area-gradient", ""), this.prepend(this.#e)), this.querySelector("[data-color-area-thumb]") ? this.#t = this.querySelector("[data-color-area-thumb]") : (this.#t = document.createElement("div"), this.#t.setAttribute("data-color-area-thumb", ""), this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("role", "slider"), this.#t.setAttribute("aria-label", "Color"), this.appendChild(this.#t)), this.addEffect(() => {
3655
- const t = this.#o(parseFloat(this.hue) || 0, 0, 360), e = this.#o(parseFloat(this.saturation) || 0, 0, 100), i = this.#o(parseFloat(this.lightness) || 0, 0, 100);
3656
- this.style.setProperty("--_hue", String(t)), this.style.setProperty("--_sat", String(e / 100)), this.style.setProperty("--_lit", String(1 - i / 100)), this.#t && this.#t.setAttribute("aria-valuetext", `hsl(${t}, ${e}%, ${i}%)`);
3657
- }), this.addEventListener("pointerdown", this.#i), this.#t.addEventListener("keydown", this.#r);
3761
+ this.querySelector("[data-color-area-canvas]") ? this.#e = this.querySelector("[data-color-area-canvas]") : (this.#e = document.createElement("canvas"), this.#e.setAttribute("data-color-area-canvas", ""), this.prepend(this.#e)), this.querySelector("[data-color-area-thumb]") ? this.#t = this.querySelector("[data-color-area-thumb]") : (this.#t = document.createElement("div"), this.#t.setAttribute("data-color-area-thumb", ""), this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("role", "slider"), this.#t.setAttribute("aria-label", "Color"), this.appendChild(this.#t)), this.addEffect(() => {
3762
+ const e = this.#l(parseFloat(this.hue) || 0, 0, 360), i = this.#l(parseFloat(this.chroma) || 0, 0, L.MAX_CHROMA), s = this.#l(parseFloat(this.lightness) || 0, 0, 1), n = i / L.MAX_CHROMA, a = 1 - s;
3763
+ this.style.setProperty("--_x", String(n)), this.style.setProperty("--_y", String(a)), this.#t && this.#t.setAttribute("aria-valuetext", `oklch(${s} ${i} ${e})`), this.#i(e);
3764
+ }), new ResizeObserver(() => {
3765
+ const e = parseFloat(this.hue) || 0;
3766
+ this.#i(e);
3767
+ }).observe(this), this.addEventListener("pointerdown", this.#s), this.#t.addEventListener("keydown", this.#o);
3658
3768
  }
3659
3769
  dispose() {
3660
- this.removeEventListener("pointerdown", this.#i), this.#t?.removeEventListener("keydown", this.#r);
3770
+ this.removeEventListener("pointerdown", this.#s), this.#t?.removeEventListener("keydown", this.#o);
3771
+ }
3772
+ // ── Canvas gradient rendering ─────────────────────────────
3773
+ #i(t) {
3774
+ const e = this.#e;
3775
+ if (!e) return;
3776
+ const i = this.getBoundingClientRect(), s = Math.max(1, Math.round(i.width)), n = Math.max(1, Math.round(i.height)), a = Math.min(window.devicePixelRatio || 1, 2), r = Math.max(1, Math.round(s * a * 0.5)), h = Math.max(1, Math.round(n * a * 0.5));
3777
+ (e.width !== r || e.height !== h) && (e.width = r, e.height = h);
3778
+ const l = e.getContext("2d", { willReadFrequently: !1 });
3779
+ if (!l) return;
3780
+ const c = l.createImageData(r, h), u = c.data;
3781
+ for (let f = 0; f < h; f++) {
3782
+ const p = 1 - f / (h - 1);
3783
+ for (let m = 0; m < r; m++) {
3784
+ let v = m / (r - 1) * L.MAX_CHROMA;
3785
+ const g = (f * r + m) * 4;
3786
+ if (!V(p, v, t)) {
3787
+ let b = 0, A = v;
3788
+ for (let E = 0; E < 8; E++) {
3789
+ const k = (b + A) / 2;
3790
+ V(p, k, t) ? b = k : A = k;
3791
+ }
3792
+ v = b;
3793
+ }
3794
+ const y = C(p, v, t);
3795
+ u[g] = parseInt(y.slice(1, 3), 16), u[g + 1] = parseInt(y.slice(3, 5), 16), u[g + 2] = parseInt(y.slice(5, 7), 16), u[g + 3] = 255;
3796
+ }
3797
+ }
3798
+ l.putImageData(c, 0, 0);
3661
3799
  }
3662
3800
  // ── Pointer interaction ───────────────────────────────
3663
- #i = (t) => {
3664
- this.disabled || (t.preventDefault(), this.setPointerCapture(t.pointerId), this.setAttribute("data-color-area-pressed", ""), this.#a(t), this.#t?.focus(), this.addEventListener("pointermove", this.#s), this.addEventListener("pointerup", this.#n));
3665
- };
3666
3801
  #s = (t) => {
3667
- this.#a(t);
3802
+ this.disabled || (t.preventDefault(), this.setPointerCapture(t.pointerId), this.setAttribute("data-color-area-pressed", ""), this.#r(t), this.#t?.focus(), this.addEventListener("pointermove", this.#n), this.addEventListener("pointerup", this.#a));
3668
3803
  };
3669
3804
  #n = (t) => {
3670
- this.removeAttribute("data-color-area-pressed"), this.removeEventListener("pointermove", this.#s), this.removeEventListener("pointerup", this.#n), this.#h();
3805
+ this.#r(t);
3671
3806
  };
3672
- #a(t) {
3673
- const e = this.getBoundingClientRect(), i = this.#o((t.clientX - e.left) / e.width, 0, 1), s = this.#o((t.clientY - e.top) / e.height, 0, 1), n = Math.round(i * 100), a = Math.round((1 - s) * 100);
3674
- this.saturation = String(n), this.lightness = String(a), this.dispatchEvent(new CustomEvent("input", {
3807
+ #a = (t) => {
3808
+ this.removeAttribute("data-color-area-pressed"), this.removeEventListener("pointermove", this.#n), this.removeEventListener("pointerup", this.#a), this.#h();
3809
+ };
3810
+ #r(t) {
3811
+ const e = this.getBoundingClientRect(), i = this.#l((t.clientX - e.left) / e.width, 0, 1), s = this.#l((t.clientY - e.top) / e.height, 0, 1), n = Math.round(i * L.MAX_CHROMA * 1e3) / 1e3, a = Math.round((1 - s) * 1e3) / 1e3;
3812
+ this.chroma = String(n), this.lightness = String(a), this.dispatchEvent(new CustomEvent("input", {
3675
3813
  bubbles: !0,
3676
- detail: { h: parseFloat(this.hue) || 0, s: n, l: a }
3814
+ detail: { l: a, c: n, h: parseFloat(this.hue) || 0 }
3677
3815
  }));
3678
3816
  }
3679
3817
  // ── Keyboard interaction ──────────────────────────────
3680
- #r = (t) => {
3818
+ #o = (t) => {
3681
3819
  if (this.disabled) return;
3682
- const e = t.shiftKey ? 10 : 1;
3683
- let i = parseFloat(this.saturation) || 0, s = parseFloat(this.lightness) || 0;
3820
+ const e = t.shiftKey ? 0.04 : 4e-3, i = t.shiftKey ? 0.1 : 0.01;
3821
+ let s = parseFloat(this.chroma) || 0, n = parseFloat(this.lightness) || 0;
3684
3822
  switch (t.key) {
3685
3823
  case "ArrowRight":
3686
- i = Math.min(100, i + e);
3824
+ s = Math.min(L.MAX_CHROMA, s + e);
3687
3825
  break;
3688
3826
  case "ArrowLeft":
3689
- i = Math.max(0, i - e);
3827
+ s = Math.max(0, s - e);
3690
3828
  break;
3691
3829
  case "ArrowUp":
3692
- s = Math.min(100, s + e);
3830
+ n = Math.min(1, n + i);
3693
3831
  break;
3694
3832
  case "ArrowDown":
3695
- s = Math.max(0, s - e);
3833
+ n = Math.max(0, n - i);
3696
3834
  break;
3697
3835
  default:
3698
3836
  return;
3699
3837
  }
3700
- t.preventDefault(), this.saturation = String(i), this.lightness = String(s), this.dispatchEvent(new CustomEvent("input", {
3838
+ t.preventDefault(), s = Math.round(s * 1e3) / 1e3, n = Math.round(n * 1e3) / 1e3, this.chroma = String(s), this.lightness = String(n), this.dispatchEvent(new CustomEvent("input", {
3701
3839
  bubbles: !0,
3702
- detail: { h: parseFloat(this.hue) || 0, s: i, l: s }
3840
+ detail: { l: n, c: s, h: parseFloat(this.hue) || 0 }
3703
3841
  })), this.#h();
3704
3842
  };
3705
3843
  #h() {
3706
3844
  this.dispatchEvent(new CustomEvent("change", {
3707
3845
  bubbles: !0,
3708
3846
  detail: {
3709
- h: parseFloat(this.hue) || 0,
3710
- s: parseFloat(this.saturation) || 0,
3711
- l: parseFloat(this.lightness) || 0
3847
+ l: parseFloat(this.lightness) || 0,
3848
+ c: parseFloat(this.chroma) || 0,
3849
+ h: parseFloat(this.hue) || 0
3712
3850
  }
3713
3851
  }));
3714
3852
  }
3715
- #o(t, e, i) {
3853
+ #l(t, e, i) {
3716
3854
  return Math.max(e, Math.min(i, t));
3717
3855
  }
3718
3856
  }
3719
- const S = {
3720
- hue: { min: 0, max: 360 },
3721
- saturation: { min: 0, max: 100 },
3722
- lightness: { min: 0, max: 100 },
3723
- alpha: { min: 0, max: 1 }
3857
+ const P = {
3858
+ hue: { min: 0, max: 360, step: 1 },
3859
+ chroma: { min: 0, max: 0.4, step: 4e-3 },
3860
+ lightness: { min: 0, max: 1, step: 0.01 },
3861
+ alpha: { min: 0, max: 1, step: 0.01 }
3724
3862
  };
3725
- class Me extends d {
3863
+ class $e extends d {
3726
3864
  static attributes = {
3727
3865
  channel: { type: "string", default: "hue" },
3728
3866
  value: { type: "string", default: "0" },
3729
3867
  min: { type: "string", default: "" },
3730
3868
  max: { type: "string", default: "" },
3731
3869
  hue: { type: "string", default: "0" },
3732
- saturation: { type: "string", default: "100" },
3733
- lightness: { type: "string", default: "50" },
3870
+ chroma: { type: "string", default: "0.15" },
3871
+ lightness: { type: "string", default: "0.65" },
3734
3872
  disabled: { type: "boolean", default: !1 }
3735
3873
  };
3736
3874
  #e = null;
3737
3875
  #t = null;
3738
3876
  activate() {
3739
3877
  this.querySelector("[data-color-slider-track]") ? this.#e = this.querySelector("[data-color-slider-track]") : (this.#e = document.createElement("div"), this.#e.setAttribute("data-color-slider-track", ""), this.prepend(this.#e)), this.querySelector("[data-color-slider-thumb]") ? this.#t = this.querySelector("[data-color-slider-thumb]") : (this.#t = document.createElement("div"), this.#t.setAttribute("data-color-slider-thumb", ""), this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("role", "slider"), this.appendChild(this.#t)), this.addEffect(() => {
3740
- const t = this.channel || "hue", e = S[t] || S.hue, i = this.min !== "" ? parseFloat(this.min) : e.min, s = this.max !== "" ? parseFloat(this.max) : e.max, n = parseFloat(this.value) || 0, a = parseFloat(this.hue) || 0, r = parseFloat(this.saturation) || 100, o = parseFloat(this.lightness) || 50, l = s - i > 0 ? (n - i) / (s - i) : 0;
3741
- this.style.setProperty("--_pct", String(Math.max(0, Math.min(1, l)))), this.style.setProperty("--_hue", String(a)), this.style.setProperty("--_sat", String(r)), this.style.setProperty("--_lit", String(o)), this.#t && (this.#t.setAttribute("aria-label", t.charAt(0).toUpperCase() + t.slice(1)), this.#t.setAttribute("aria-valuemin", String(i)), this.#t.setAttribute("aria-valuemax", String(s)), this.#t.setAttribute("aria-valuenow", String(n))), this.#e && (t === "saturation" ? this.#e.style.background = `linear-gradient(to right, hsl(${a}, 0%, ${o}%), hsl(${a}, 100%, ${o}%))` : t === "lightness" ? this.#e.style.background = `linear-gradient(to right, hsl(${a}, ${r}%, 0%), hsl(${a}, ${r}%, 50%), hsl(${a}, ${r}%, 100%))` : t === "alpha" ? this.#e.style.background = `linear-gradient(to right, transparent, hsl(${a}, ${r}%, ${o}%))` : this.#e.style.background = "");
3742
- }), this.addEventListener("pointerdown", this.#s), this.#t.addEventListener("keydown", this.#h);
3878
+ const t = this.channel || "hue", e = P[t] || P.hue, i = this.min !== "" ? parseFloat(this.min) : e.min, s = this.max !== "" ? parseFloat(this.max) : e.max, n = parseFloat(this.value) || 0, a = parseFloat(this.hue) || 0, r = parseFloat(this.chroma) || 0.15, h = parseFloat(this.lightness) || 0.65, l = s - i > 0 ? (n - i) / (s - i) : 0;
3879
+ if (this.style.setProperty("--_pct", String(Math.max(0, Math.min(1, l)))), this.#t && (this.#t.setAttribute("aria-label", t.charAt(0).toUpperCase() + t.slice(1)), this.#t.setAttribute("aria-valuemin", String(i)), this.#t.setAttribute("aria-valuemax", String(s)), this.#t.setAttribute("aria-valuenow", String(n))), this.#e)
3880
+ if (t === "hue") {
3881
+ const c = [];
3882
+ for (let u = 0; u <= 360; u += 30)
3883
+ c.push(C(h, r, u) + ` ${(u / 360 * 100).toFixed(1)}%`);
3884
+ this.#e.style.background = `linear-gradient(to right, ${c.join(", ")})`;
3885
+ } else if (t === "chroma") {
3886
+ const c = [];
3887
+ for (let f = 0; f <= 10; f++) {
3888
+ const p = f / 10 * 0.4;
3889
+ c.push(C(h, p, a) + ` ${(f / 10 * 100).toFixed(1)}%`);
3890
+ }
3891
+ this.#e.style.background = `linear-gradient(to right, ${c.join(", ")})`;
3892
+ } else if (t === "lightness") {
3893
+ const c = [];
3894
+ for (let f = 0; f <= 10; f++) {
3895
+ const p = f / 10;
3896
+ c.push(C(p, r, a) + ` ${(f / 10 * 100).toFixed(1)}%`);
3897
+ }
3898
+ this.#e.style.background = `linear-gradient(to right, ${c.join(", ")})`;
3899
+ } else if (t === "alpha") {
3900
+ const c = C(h, r, a);
3901
+ this.#e.style.background = `linear-gradient(to right, transparent, ${c})`;
3902
+ } else
3903
+ this.#e.style.background = "";
3904
+ }), this.addEventListener("pointerdown", this.#s), this.#t.addEventListener("keydown", this.#o);
3743
3905
  }
3744
3906
  dispose() {
3745
- this.removeEventListener("pointerdown", this.#s), this.#t?.removeEventListener("keydown", this.#h);
3907
+ this.removeEventListener("pointerdown", this.#s), this.#t?.removeEventListener("keydown", this.#o);
3746
3908
  }
3747
3909
  #i() {
3748
- const t = this.channel || "hue", e = S[t] || S.hue, i = this.min !== "" ? parseFloat(this.min) : e.min, s = this.max !== "" ? parseFloat(this.max) : e.max;
3749
- return { min: i, max: s, step: t === "alpha" ? 0.01 : 1 };
3910
+ const t = this.channel || "hue", e = P[t] || P.hue, i = this.min !== "" ? parseFloat(this.min) : e.min, s = this.max !== "" ? parseFloat(this.max) : e.max;
3911
+ return { min: i, max: s, step: e.step };
3750
3912
  }
3751
3913
  // ── Pointer interaction ───────────────────────────────
3752
3914
  #s = (t) => {
@@ -3756,17 +3918,17 @@ class Me extends d {
3756
3918
  this.#r(t);
3757
3919
  };
3758
3920
  #a = (t) => {
3759
- this.removeAttribute("data-color-slider-pressed"), this.removeEventListener("pointermove", this.#n), this.removeEventListener("pointerup", this.#a), this.#o();
3921
+ this.removeAttribute("data-color-slider-pressed"), this.removeEventListener("pointermove", this.#n), this.removeEventListener("pointerup", this.#a), this.#h();
3760
3922
  };
3761
3923
  #r(t) {
3762
- const e = this.getBoundingClientRect(), i = Math.max(0, Math.min(1, (t.clientX - e.left) / e.width)), { min: s, max: n, step: a } = this.#i(), r = s + i * (n - s), o = Math.round(r / a) * a, l = Math.max(s, Math.min(n, o));
3763
- this.value = String(Math.round(l * 100) / 100), this.dispatchEvent(new CustomEvent("input", {
3924
+ const e = this.getBoundingClientRect(), i = Math.max(0, Math.min(1, (t.clientX - e.left) / e.width)), { min: s, max: n, step: a } = this.#i(), r = s + i * (n - s), h = Math.round(r / a) * a, l = Math.max(s, Math.min(n, h));
3925
+ this.value = String(Math.round(l * 1e3) / 1e3), this.dispatchEvent(new CustomEvent("input", {
3764
3926
  bubbles: !0,
3765
3927
  detail: { channel: this.channel, value: parseFloat(this.value) }
3766
3928
  }));
3767
3929
  }
3768
3930
  // ── Keyboard interaction ──────────────────────────────
3769
- #h = (t) => {
3931
+ #o = (t) => {
3770
3932
  if (this.disabled) return;
3771
3933
  const { min: e, max: i, step: s } = this.#i(), n = parseFloat(this.value) || 0, a = t.shiftKey ? s * 10 : s;
3772
3934
  let r;
@@ -3788,19 +3950,19 @@ class Me extends d {
3788
3950
  default:
3789
3951
  return;
3790
3952
  }
3791
- t.preventDefault(), this.value = String(Math.round(r * 100) / 100), this.dispatchEvent(new CustomEvent("input", {
3953
+ t.preventDefault(), this.value = String(Math.round(r * 1e3) / 1e3), this.dispatchEvent(new CustomEvent("input", {
3792
3954
  bubbles: !0,
3793
3955
  detail: { channel: this.channel, value: parseFloat(this.value) }
3794
- })), this.#o();
3956
+ })), this.#h();
3795
3957
  };
3796
- #o() {
3958
+ #h() {
3797
3959
  this.dispatchEvent(new CustomEvent("change", {
3798
3960
  bubbles: !0,
3799
3961
  detail: { channel: this.channel, value: parseFloat(this.value) }
3800
3962
  }));
3801
3963
  }
3802
3964
  }
3803
- class Te extends d {
3965
+ class Ue extends d {
3804
3966
  static attributes = {
3805
3967
  value: { type: "string", default: "" },
3806
3968
  format: { type: "string", default: "hex" },
@@ -3841,13 +4003,14 @@ class Te extends d {
3841
4003
  return typeof CSS < "u" && CSS.supports ? CSS.supports("color", t) : /^#([0-9a-f]{3,8})$/i.test(t) || /^rgb/i.test(t) || /^oklch/i.test(t) || /^hsl/i.test(t);
3842
4004
  }
3843
4005
  }
3844
- class Pe extends d {
4006
+ class Be extends d {
3845
4007
  static attributes = {
3846
4008
  value: { type: "string", default: "" },
3847
4009
  min: { type: "string", default: "" },
3848
4010
  max: { type: "string", default: "" },
3849
4011
  step: { type: "string", default: "1" },
3850
4012
  format: { type: "string", default: "24h" },
4013
+ "show-seconds": { type: "boolean", default: !1 },
3851
4014
  placeholder: { type: "string", default: "" },
3852
4015
  disabled: { type: "boolean", default: !1 }
3853
4016
  };
@@ -3860,17 +4023,23 @@ class Pe extends d {
3860
4023
  }), this.addEffect(() => {
3861
4024
  for (const t of this.#e)
3862
4025
  t.setAttribute("tabindex", this.disabled ? "-1" : "0");
3863
- }), this.addEventListener("keydown", this.#h), this.addEventListener("focusin", this.#r);
4026
+ }), this.addEventListener("keydown", this.#o), this.addEventListener("focusin", this.#r);
3864
4027
  }
3865
4028
  dispose() {
3866
- this.removeEventListener("keydown", this.#h), this.removeEventListener("focusin", this.#r), this.#i && clearTimeout(this.#i);
4029
+ this.removeEventListener("keydown", this.#o), this.removeEventListener("focusin", this.#r), this.#i && clearTimeout(this.#i);
3867
4030
  }
3868
4031
  #s() {
3869
4032
  this.innerHTML = "", this.#e = [];
3870
4033
  const t = this.#n("hour", "Hour", 0, this.format === "12h" ? 12 : 23), e = document.createElement("span");
3871
4034
  e.setAttribute("data-time-separator", ""), e.textContent = ":";
3872
4035
  const i = this.#n("minute", "Minute", 0, 59);
3873
- if (this.append(t, e, i), this.#e = [t, i], this.format === "12h") {
4036
+ if (this.append(t, e, i), this.#e = [t, i], this["show-seconds"]) {
4037
+ const s = document.createElement("span");
4038
+ s.setAttribute("data-time-separator", ""), s.textContent = ":";
4039
+ const n = this.#n("second", "Second", 0, 59);
4040
+ this.append(s, n), this.#e.push(n);
4041
+ }
4042
+ if (this.format === "12h") {
3874
4043
  const s = document.createElement("span");
3875
4044
  s.setAttribute("data-time-segment", "period"), s.setAttribute("tabindex", "0"), s.setAttribute("role", "spinbutton"), s.setAttribute("aria-label", "AM/PM"), s.setAttribute("aria-valuemin", "0"), s.setAttribute("aria-valuemax", "1"), s.textContent = "AM", this.appendChild(s), this.#e.push(s);
3876
4045
  }
@@ -3881,19 +4050,19 @@ class Pe extends d {
3881
4050
  }
3882
4051
  #a() {
3883
4052
  const t = this.value;
3884
- if (!t || !/^\d{1,2}:\d{2}$/.test(t)) {
3885
- for (const l of this.#e)
3886
- l.getAttribute("data-time-segment") === "period" ? l.textContent = "AM" : l.textContent = "--";
4053
+ if (!t || !/^\d{1,2}:\d{2}(:\d{2})?$/.test(t)) {
4054
+ for (const c of this.#e)
4055
+ c.getAttribute("data-time-segment") === "period" ? c.textContent = "AM" : c.textContent = "--";
3887
4056
  return;
3888
4057
  }
3889
- const [e, i] = t.split(":");
3890
- let s = parseInt(e, 10);
3891
- const n = parseInt(i, 10), a = this.querySelector('[data-time-segment="hour"]'), r = this.querySelector('[data-time-segment="minute"]'), o = this.querySelector('[data-time-segment="period"]');
4058
+ const e = t.split(":");
4059
+ let i = parseInt(e[0], 10);
4060
+ const s = parseInt(e[1], 10), n = e[2] ? parseInt(e[2], 10) : 0, a = this.querySelector('[data-time-segment="hour"]'), r = this.querySelector('[data-time-segment="minute"]'), h = this.querySelector('[data-time-segment="second"]'), l = this.querySelector('[data-time-segment="period"]');
3892
4061
  if (this.format === "12h") {
3893
- const l = s >= 12 ? "PM" : "AM";
3894
- s = s % 12 || 12, a && (a.textContent = String(s).padStart(2, "0")), r && (r.textContent = String(n).padStart(2, "0")), o && (o.textContent = l);
4062
+ const c = i >= 12 ? "PM" : "AM";
4063
+ i = i % 12 || 12, a && (a.textContent = String(i).padStart(2, "0")), r && (r.textContent = String(s).padStart(2, "0")), h && (h.textContent = String(n).padStart(2, "0")), l && (l.textContent = c);
3895
4064
  } else
3896
- a && (a.textContent = String(s).padStart(2, "0")), r && (r.textContent = String(n).padStart(2, "0"));
4065
+ a && (a.textContent = String(i).padStart(2, "0")), r && (r.textContent = String(s).padStart(2, "0")), h && (h.textContent = String(n).padStart(2, "0"));
3897
4066
  }
3898
4067
  #r = (t) => {
3899
4068
  this.#t = "", this.#i && clearTimeout(this.#i);
@@ -3905,7 +4074,7 @@ class Pe extends d {
3905
4074
  s?.removeAllRanges(), s?.addRange(i);
3906
4075
  }
3907
4076
  };
3908
- #h = (t) => {
4077
+ #o = (t) => {
3909
4078
  if (this.disabled) return;
3910
4079
  const e = t.target;
3911
4080
  if (!e.hasAttribute("data-time-segment")) return;
@@ -3929,7 +4098,7 @@ class Pe extends d {
3929
4098
  return;
3930
4099
  }
3931
4100
  if (/^\d$/.test(t.key) && i !== "period") {
3932
- t.preventDefault(), this.#o(e, i, t.key);
4101
+ t.preventDefault(), this.#h(e, i, t.key);
3933
4102
  return;
3934
4103
  }
3935
4104
  if (i === "period" && (t.key === "a" || t.key === "A" || t.key === "p" || t.key === "P")) {
@@ -3937,7 +4106,7 @@ class Pe extends d {
3937
4106
  return;
3938
4107
  }
3939
4108
  };
3940
- #o(t, e, i) {
4109
+ #h(t, e, i) {
3941
4110
  if (this.#i && clearTimeout(this.#i), this.#t += i, this.#t.length >= 2) {
3942
4111
  const s = parseInt(this.#t, 10), n = e === "hour" ? this.format === "12h" ? 12 : 23 : 59, a = Math.min(s, n);
3943
4112
  t.textContent = String(a).padStart(2, "0"), this.#t = "", this.#d();
@@ -3955,8 +4124,8 @@ class Pe extends d {
3955
4124
  t.textContent = t.textContent === "AM" ? "PM" : "AM", this.#d();
3956
4125
  return;
3957
4126
  }
3958
- const s = t.textContent || "--", n = s === "--" ? 0 : parseInt(s, 10), a = e === "hour" ? this.format === "12h" ? 12 : 23 : 59, r = e === "hour" && this.format === "12h" ? 1 : 0, o = e === "minute" && parseInt(this.step, 10) || 1;
3959
- let l = n + i * o;
4127
+ const s = t.textContent || "--", n = s === "--" ? 0 : parseInt(s, 10), a = e === "hour" ? this.format === "12h" ? 12 : 23 : 59, r = e === "hour" && this.format === "12h" ? 1 : 0, h = (e === "minute" || e === "second") && parseInt(this.step, 10) || 1;
4128
+ let l = n + i * h;
3960
4129
  l > a && (l = r), l < r && (l = a), t.textContent = String(l).padStart(2, "0"), this.#d();
3961
4130
  }
3962
4131
  #d() {
@@ -3968,26 +4137,26 @@ class Pe extends d {
3968
4137
  let n = parseInt(i, 10);
3969
4138
  const a = parseInt(s, 10);
3970
4139
  if (this.format === "12h") {
3971
- const l = this.querySelector('[data-time-segment="period"]')?.textContent || "AM";
3972
- l === "PM" && n < 12 && (n += 12), l === "AM" && n === 12 && (n = 0);
4140
+ const f = this.querySelector('[data-time-segment="period"]')?.textContent || "AM";
4141
+ f === "PM" && n < 12 && (n += 12), f === "AM" && n === 12 && (n = 0);
3973
4142
  }
3974
- const r = `${String(n).padStart(2, "0")}:${String(a).padStart(2, "0")}`;
3975
- r !== this.value && (this.value = r, this.dispatchEvent(new CustomEvent("change", {
4143
+ const h = this.querySelector('[data-time-segment="second"]')?.textContent || "--", l = h === "--" ? 0 : parseInt(h, 10), c = this["show-seconds"] ? `${String(n).padStart(2, "0")}:${String(a).padStart(2, "0")}:${String(l).padStart(2, "0")}` : `${String(n).padStart(2, "0")}:${String(a).padStart(2, "0")}`;
4144
+ c !== this.value && (this.value = c, this.dispatchEvent(new CustomEvent("change", {
3976
4145
  bubbles: !0,
3977
4146
  detail: { value: this.value }
3978
4147
  })));
3979
4148
  }
3980
4149
  }
3981
- const R = {
4150
+ const K = {
3982
4151
  "MM/DD/YYYY": { segments: ["month", "day", "year"], separator: "/" },
3983
4152
  "DD/MM/YYYY": { segments: ["day", "month", "year"], separator: "/" },
3984
4153
  "YYYY-MM-DD": { segments: ["year", "month", "day"], separator: "-" }
3985
- }, D = {
4154
+ }, q = {
3986
4155
  month: { name: "month", label: "Month", min: 1, max: 12, digits: 2 },
3987
4156
  day: { name: "day", label: "Day", min: 1, max: 31, digits: 2 },
3988
4157
  year: { name: "year", label: "Year", min: 1900, max: 2100, digits: 4 }
3989
4158
  };
3990
- class qe extends d {
4159
+ class Ve extends d {
3991
4160
  static attributes = {
3992
4161
  value: { type: "string", default: "" },
3993
4162
  min: { type: "string", default: "" },
@@ -4012,22 +4181,22 @@ class qe extends d {
4012
4181
  }
4013
4182
  #s() {
4014
4183
  this.innerHTML = "", this.#e = [];
4015
- const t = R[this.format] || R["MM/DD/YYYY"];
4184
+ const t = K[this.format] || K["MM/DD/YYYY"];
4016
4185
  for (let e = 0; e < t.segments.length; e++) {
4017
4186
  if (e > 0) {
4018
4187
  const n = document.createElement("span");
4019
4188
  n.setAttribute("data-date-separator", ""), n.textContent = t.separator, this.appendChild(n);
4020
4189
  }
4021
- const i = D[t.segments[e]], s = document.createElement("span");
4190
+ const i = q[t.segments[e]], s = document.createElement("span");
4022
4191
  s.setAttribute("data-date-segment", i.name), s.setAttribute("tabindex", "0"), s.setAttribute("role", "spinbutton"), s.setAttribute("aria-label", i.label), s.setAttribute("aria-valuemin", String(i.min)), s.setAttribute("aria-valuemax", String(i.max)), s.textContent = i.name === "year" ? "----" : "--", this.appendChild(s), this.#e.push(s);
4023
4192
  }
4024
4193
  }
4025
4194
  #n() {
4026
4195
  const t = this.value;
4027
4196
  if (!t || !/^\d{4}-\d{2}-\d{2}$/.test(t)) {
4028
- for (const o of this.#e) {
4029
- const l = o.getAttribute("data-date-segment");
4030
- o.textContent = l === "year" ? "----" : "--";
4197
+ for (const h of this.#e) {
4198
+ const l = h.getAttribute("data-date-segment");
4199
+ h.textContent = l === "year" ? "----" : "--";
4031
4200
  }
4032
4201
  return;
4033
4202
  }
@@ -4050,7 +4219,7 @@ class qe extends d {
4050
4219
  if (!e.hasAttribute("data-date-segment")) return;
4051
4220
  const i = e.getAttribute("data-date-segment");
4052
4221
  if (t.key === "ArrowUp" || t.key === "ArrowDown") {
4053
- t.preventDefault(), this.#o(e, i, t.key === "ArrowUp" ? 1 : -1);
4222
+ t.preventDefault(), this.#h(e, i, t.key === "ArrowUp" ? 1 : -1);
4054
4223
  return;
4055
4224
  }
4056
4225
  if (t.key === "ArrowRight" || t.key === "Tab" && !t.shiftKey) {
@@ -4065,18 +4234,18 @@ class qe extends d {
4065
4234
  }
4066
4235
  if (t.key === "Backspace") {
4067
4236
  t.preventDefault();
4068
- const s = D[i];
4237
+ const s = q[i];
4069
4238
  e.textContent = s.digits === 4 ? "----" : "--", this.#t = "", this.#l();
4070
4239
  return;
4071
4240
  }
4072
4241
  if (/^\d$/.test(t.key)) {
4073
- t.preventDefault(), this.#h(e, i, t.key);
4242
+ t.preventDefault(), this.#o(e, i, t.key);
4074
4243
  return;
4075
4244
  }
4076
4245
  };
4077
- #h(t, e, i) {
4246
+ #o(t, e, i) {
4078
4247
  this.#i && clearTimeout(this.#i);
4079
- const s = D[e];
4248
+ const s = q[e];
4080
4249
  if (this.#t += i, this.#t.length >= s.digits) {
4081
4250
  const n = parseInt(this.#t, 10), a = Math.max(s.min, Math.min(s.max, n));
4082
4251
  t.textContent = String(a).padStart(s.digits, "0"), this.#t = "", this.#l();
@@ -4094,10 +4263,10 @@ class qe extends d {
4094
4263
  a < this.#e.length - 1 && this.#e[a + 1].focus();
4095
4264
  }, 800);
4096
4265
  }
4097
- #o(t, e, i) {
4098
- const s = D[e], n = t.textContent || "";
4099
- let o = (n === "--" || n === "----" ? i > 0 ? s.min - 1 : s.max + 1 : parseInt(n, 10)) + i;
4100
- o > s.max && (o = s.min), o < s.min && (o = s.max), t.textContent = String(o).padStart(s.digits, "0"), this.#l();
4266
+ #h(t, e, i) {
4267
+ const s = q[e], n = t.textContent || "";
4268
+ let h = (n === "--" || n === "----" ? i > 0 ? s.min - 1 : s.max + 1 : parseInt(n, 10)) + i;
4269
+ h > s.max && (h = s.min), h < s.min && (h = s.max), t.textContent = String(h).padStart(s.digits, "0"), this.#l();
4101
4270
  }
4102
4271
  #l() {
4103
4272
  const t = this.querySelector('[data-date-segment="month"]'), e = this.querySelector('[data-date-segment="day"]'), i = this.querySelector('[data-date-segment="year"]'), s = t?.textContent || "--", n = e?.textContent || "--", a = i?.textContent || "----";
@@ -4105,20 +4274,20 @@ class qe extends d {
4105
4274
  this.value = "";
4106
4275
  return;
4107
4276
  }
4108
- let r = parseInt(s, 10), o = parseInt(n, 10);
4109
- const l = parseInt(a, 10), u = new Date(l, r, 0).getDate();
4110
- o > u && (o = u, e && (e.textContent = String(o).padStart(2, "0")));
4111
- const f = `${String(l).padStart(4, "0")}-${String(r).padStart(2, "0")}-${String(o).padStart(2, "0")}`;
4112
- f !== this.value && (this.value = f, this.dispatchEvent(new CustomEvent("change", {
4277
+ let r = parseInt(s, 10), h = parseInt(n, 10);
4278
+ const l = parseInt(a, 10), c = new Date(l, r, 0).getDate();
4279
+ h > c && (h = c, e && (e.textContent = String(h).padStart(2, "0")));
4280
+ const u = `${String(l).padStart(4, "0")}-${String(r).padStart(2, "0")}-${String(h).padStart(2, "0")}`;
4281
+ u !== this.value && (this.value = u, this.dispatchEvent(new CustomEvent("change", {
4113
4282
  bubbles: !0,
4114
- detail: { value: this.value, date: new Date(l, r - 1, o) }
4283
+ detail: { value: this.value, date: new Date(l, r - 1, h) }
4115
4284
  })));
4116
4285
  }
4117
4286
  }
4118
- function lt(h) {
4119
- return h.tagName === "AUI-OPTION" || h.tagName === "AUI-OPTGROUP";
4287
+ function yt(o) {
4288
+ return o.tagName === "AUI-OPTION" || o.tagName === "AUI-OPTGROUP";
4120
4289
  }
4121
- class Oe extends d {
4290
+ class Ke extends d {
4122
4291
  static attributes = {
4123
4292
  target: { type: "string", default: "" },
4124
4293
  disabled: { type: "boolean", default: !1 },
@@ -4132,15 +4301,15 @@ class Oe extends d {
4132
4301
  this.#e = document.createElement("div"), this.#e.setAttribute("popover", "manual"), this.#e.setAttribute("data-context-menu-popover", ""), this.#e.setAttribute("role", "menu"), this.#t = document.createElement("div"), this.#t.setAttribute("data-context-menu-list", ""), this.#t.setAttribute("role", "menu"), this.#t.setAttribute("tabindex", "-1"), this.#e.appendChild(this.#t);
4133
4302
  const t = Array.from(this.children);
4134
4303
  for (const e of t)
4135
- lt(e) && this.#t.appendChild(e);
4304
+ yt(e) && this.#t.appendChild(e);
4136
4305
  this.appendChild(this.#e), this.addEffect(() => {
4137
4306
  this.#i && (this.#i.removeEventListener("contextmenu", this.#l), this.#i = null);
4138
4307
  const e = this.target;
4139
4308
  e && (this.#i = document.querySelector(e)), this.#i || (this.#i = this.parentElement), this.#i && this.#i.addEventListener("contextmenu", this.#l);
4140
- }), this.#t.addEventListener("click", this.#d), this.#t.addEventListener("keydown", this.#u), document.addEventListener("click", this.#p), document.addEventListener("keydown", this.#f);
4309
+ }), this.#t.addEventListener("click", this.#d), this.#t.addEventListener("keydown", this.#u), document.addEventListener("click", this.#c), document.addEventListener("keydown", this.#f);
4141
4310
  }
4142
4311
  dispose() {
4143
- this.#i && this.#i.removeEventListener("contextmenu", this.#l), this.#t?.removeEventListener("click", this.#d), this.#t?.removeEventListener("keydown", this.#u), document.removeEventListener("click", this.#p), document.removeEventListener("keydown", this.#f), this.#a();
4312
+ this.#i && this.#i.removeEventListener("contextmenu", this.#l), this.#t?.removeEventListener("click", this.#d), this.#t?.removeEventListener("keydown", this.#u), document.removeEventListener("click", this.#c), document.removeEventListener("keydown", this.#f), this.#a();
4144
4313
  }
4145
4314
  // ── Options ─────────────────────────────────────────────
4146
4315
  get options() {
@@ -4157,7 +4326,7 @@ class Oe extends d {
4157
4326
  this.#e.showPopover();
4158
4327
  } catch {
4159
4328
  }
4160
- this.open = !0, this.#s = -1, this.#h(), requestAnimationFrame(() => this.#t?.focus());
4329
+ this.open = !0, this.#s = -1, this.#o(), requestAnimationFrame(() => this.#t?.focus());
4161
4330
  }
4162
4331
  }
4163
4332
  #a() {
@@ -4166,23 +4335,23 @@ class Oe extends d {
4166
4335
  this.#e.hidePopover();
4167
4336
  } catch {
4168
4337
  }
4169
- this.open = !1, this.#s = -1, this.#h();
4338
+ this.open = !1, this.#s = -1, this.#o();
4170
4339
  }
4171
4340
  }
4172
4341
  // ── Active (keyboard highlight) ─────────────────────────
4173
4342
  #r(t) {
4174
4343
  const e = this.enabledOptions;
4175
4344
  if (e.length === 0) return;
4176
- this.#h(), this.#s = Math.max(0, Math.min(t, e.length - 1));
4345
+ this.#o(), this.#s = Math.max(0, Math.min(t, e.length - 1));
4177
4346
  const i = e[this.#s];
4178
4347
  i.setAttribute("data-navigate-active", ""), i.scrollIntoView({ block: "nearest" });
4179
4348
  }
4180
- #h() {
4349
+ #o() {
4181
4350
  for (const t of this.options)
4182
4351
  t.removeAttribute("data-navigate-active");
4183
4352
  }
4184
4353
  // ── Select ──────────────────────────────────────────────
4185
- #o(t) {
4354
+ #h(t) {
4186
4355
  const e = t.getAttribute("value") ?? t.textContent?.trim() ?? "";
4187
4356
  this.#a(), this.dispatchEvent(new CustomEvent("select", {
4188
4357
  bubbles: !0,
@@ -4196,7 +4365,7 @@ class Oe extends d {
4196
4365
  };
4197
4366
  #d = (t) => {
4198
4367
  const e = t.target.closest("aui-option");
4199
- !e || e.hasAttribute("disabled") || this.#o(e);
4368
+ !e || e.hasAttribute("disabled") || this.#h(e);
4200
4369
  };
4201
4370
  #u = (t) => {
4202
4371
  const e = this.enabledOptions;
@@ -4226,7 +4395,7 @@ class Oe extends d {
4226
4395
  case " ": {
4227
4396
  t.preventDefault();
4228
4397
  const i = e[this.#s];
4229
- i && this.#o(i);
4398
+ i && this.#h(i);
4230
4399
  break;
4231
4400
  }
4232
4401
  case "Escape": {
@@ -4235,18 +4404,18 @@ class Oe extends d {
4235
4404
  }
4236
4405
  }
4237
4406
  };
4238
- #p = (t) => {
4407
+ #c = (t) => {
4239
4408
  this.open && !this.#e?.contains(t.target) && this.#a();
4240
4409
  };
4241
4410
  #f = (t) => {
4242
4411
  t.key === "Escape" && this.open && this.#a();
4243
4412
  };
4244
4413
  }
4245
- const dt = '<svg viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><polyline points="48,80 128,160 208,80" fill="none" stroke="currentColor" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/></svg>';
4246
- function ut(h) {
4247
- return h.tagName === "AUI-OPTION" || h.tagName === "AUI-OPTGROUP";
4414
+ const Et = '<svg viewBox="0 0 256 256" fill="currentColor" width="100%" height="100%"><polyline points="48,80 128,160 208,80" fill="none" stroke="currentColor" stroke-width="24" stroke-linecap="round" stroke-linejoin="round"/></svg>';
4415
+ function xt(o) {
4416
+ return o.tagName === "AUI-OPTION" || o.tagName === "AUI-OPTGROUP";
4248
4417
  }
4249
- class Fe extends d {
4418
+ class _e extends d {
4250
4419
  static attributes = {
4251
4420
  label: { type: "string", default: "" },
4252
4421
  "icon-leading": { type: "string", default: "" },
@@ -4264,18 +4433,18 @@ class Fe extends d {
4264
4433
  #r = -1;
4265
4434
  activate() {
4266
4435
  const t = `dropdown-menu-${crypto.randomUUID().slice(0, 8)}`;
4267
- this.#e = `--${t}`, this.#t = document.createElement("span"), this.#t.setAttribute("data-trigger", ""), this.#t.setAttribute("role", "button"), this.#t.setAttribute("aria-haspopup", "menu"), this.#t.setAttribute("tabindex", "0"), this.#t.id = t, this.#i = document.createElement("span"), this.#i.setAttribute("data-label", ""), this.#t.appendChild(this.#i), this.#s = document.createElement("span"), this.#s.setAttribute("data-chevron", ""), this.#s.innerHTML = dt, this.#t.appendChild(this.#s), this.#n = document.createElement("div"), this.#n.setAttribute("popover", "auto"), this.#n.setAttribute("data-dropdown", ""), this.#a = document.createElement("div"), this.#a.setAttribute("data-dropdown-menu-list", ""), this.#a.setAttribute("role", "menu"), this.#a.setAttribute("tabindex", "-1"), this.#n.appendChild(this.#a);
4436
+ this.#e = `--${t}`, this.#t = document.createElement("span"), this.#t.setAttribute("data-trigger", ""), this.#t.setAttribute("role", "button"), this.#t.setAttribute("aria-haspopup", "menu"), this.#t.setAttribute("tabindex", "0"), this.#t.id = t, this.#i = document.createElement("span"), this.#i.setAttribute("data-label", ""), this.#t.appendChild(this.#i), this.#s = document.createElement("span"), this.#s.setAttribute("data-chevron", ""), this.#s.innerHTML = Et, this.#t.appendChild(this.#s), this.#n = document.createElement("div"), this.#n.setAttribute("popover", "auto"), this.#n.setAttribute("data-dropdown", ""), this.#a = document.createElement("div"), this.#a.setAttribute("data-dropdown-menu-list", ""), this.#a.setAttribute("role", "menu"), this.#a.setAttribute("tabindex", "-1"), this.#n.appendChild(this.#a);
4268
4437
  const e = Array.from(this.children);
4269
4438
  for (const i of e)
4270
- ut(i) && this.#a.appendChild(i);
4439
+ xt(i) && this.#a.appendChild(i);
4271
4440
  this.appendChild(this.#t), this.appendChild(this.#n), this.#t.style.anchorName = this.#e, this.style.setProperty("--_anchor", this.#e), this.addEffect(() => {
4272
4441
  this.disabled ? this.#t.setAttribute("tabindex", "-1") : this.#t.setAttribute("tabindex", "0"), this.#t.setAttribute("aria-expanded", String(this.open)), this.#t.setAttribute("aria-disabled", String(this.disabled));
4273
4442
  const i = this.label || "";
4274
4443
  this.#i.textContent = i;
4275
- }), this.#t.addEventListener("click", this.#p), this.#t.addEventListener("keydown", this.#f), this.#a.addEventListener("click", this.#v), this.#a.addEventListener("keydown", this.#b), document.addEventListener("click", this.#c);
4444
+ }), this.#t.addEventListener("click", this.#c), this.#t.addEventListener("keydown", this.#f), this.#a.addEventListener("click", this.#m), this.#a.addEventListener("keydown", this.#b), document.addEventListener("click", this.#p);
4276
4445
  }
4277
4446
  dispose() {
4278
- this.#t?.removeEventListener("click", this.#p), this.#t?.removeEventListener("keydown", this.#f), this.#a?.removeEventListener("click", this.#v), this.#a?.removeEventListener("keydown", this.#b), document.removeEventListener("click", this.#c), this.#o();
4447
+ this.#t?.removeEventListener("click", this.#c), this.#t?.removeEventListener("keydown", this.#f), this.#a?.removeEventListener("click", this.#m), this.#a?.removeEventListener("keydown", this.#b), document.removeEventListener("click", this.#p), this.#h();
4279
4448
  }
4280
4449
  // ── Options ─────────────────────────────────────────────
4281
4450
  get options() {
@@ -4285,7 +4454,7 @@ class Fe extends d {
4285
4454
  return this.options.filter((t) => !t.hasAttribute("disabled"));
4286
4455
  }
4287
4456
  // ── Popover control ─────────────────────────────────────
4288
- #h() {
4457
+ #o() {
4289
4458
  if (!(!this.#n || this.disabled)) {
4290
4459
  try {
4291
4460
  this.#n.showPopover();
@@ -4294,7 +4463,7 @@ class Fe extends d {
4294
4463
  this.open = !0, this.#r = -1, this.#d(), requestAnimationFrame(() => this.#a?.focus());
4295
4464
  }
4296
4465
  }
4297
- #o() {
4466
+ #h() {
4298
4467
  if (this.#n) {
4299
4468
  try {
4300
4469
  this.#n.hidePopover();
@@ -4318,20 +4487,20 @@ class Fe extends d {
4318
4487
  // ── Select ──────────────────────────────────────────────
4319
4488
  #u(t) {
4320
4489
  const e = t.getAttribute("value") ?? t.textContent?.trim() ?? "";
4321
- this.#o(), this.#t?.focus(), this.dispatchEvent(new CustomEvent("select", {
4490
+ this.#h(), this.#t?.focus(), this.dispatchEvent(new CustomEvent("select", {
4322
4491
  bubbles: !0,
4323
4492
  composed: !0,
4324
4493
  detail: { value: e }
4325
4494
  }));
4326
4495
  }
4327
4496
  // ── Event handlers ──────────────────────────────────────
4328
- #p = () => {
4329
- this.disabled || (this.open ? this.#o() : this.#h());
4497
+ #c = () => {
4498
+ this.disabled || (this.open ? this.#h() : this.#o());
4330
4499
  };
4331
4500
  #f = (t) => {
4332
- t.key === "ArrowDown" || t.key === "ArrowUp" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.open || this.#h()) : t.key === "Escape" && this.#o();
4501
+ t.key === "ArrowDown" || t.key === "ArrowUp" || t.key === "Enter" || t.key === " " ? (t.preventDefault(), this.open || this.#o()) : t.key === "Escape" && this.#h();
4333
4502
  };
4334
- #v = (t) => {
4503
+ #m = (t) => {
4335
4504
  const e = t.target.closest("aui-option");
4336
4505
  !e || e.hasAttribute("disabled") || this.#u(e);
4337
4506
  };
@@ -4367,20 +4536,20 @@ class Fe extends d {
4367
4536
  break;
4368
4537
  }
4369
4538
  case "Escape": {
4370
- t.preventDefault(), this.#o(), this.#t?.focus();
4539
+ t.preventDefault(), this.#h(), this.#t?.focus();
4371
4540
  break;
4372
4541
  }
4373
4542
  case "Tab": {
4374
- this.#o();
4543
+ this.#h();
4375
4544
  break;
4376
4545
  }
4377
4546
  }
4378
4547
  };
4379
- #c = (t) => {
4380
- this.open && !this.contains(t.target) && this.#o();
4548
+ #p = (t) => {
4549
+ this.open && !this.contains(t.target) && this.#h();
4381
4550
  };
4382
4551
  }
4383
- class Re extends d {
4552
+ class Ge extends d {
4384
4553
  static attributes = {
4385
4554
  anchor: { type: "string", default: "" },
4386
4555
  delay: { type: "string", default: "300" },
@@ -4398,13 +4567,13 @@ class Re extends d {
4398
4567
  for (this.#i = `--${t}`, this.#e = document.createElement("div"), this.#e.setAttribute("popover", "manual"), this.#e.setAttribute("data-hover-card-popover", ""), this.#e.setAttribute("role", "tooltip"), this.#e.id = t; this.firstChild; )
4399
4568
  this.#e.appendChild(this.firstChild);
4400
4569
  this.appendChild(this.#e), this.style.setProperty("--_anchor", this.#i), this.addEffect(() => {
4401
- this.#t && (this.#t.removeEventListener("mouseenter", this.#d), this.#t.removeEventListener("mouseleave", this.#u), this.#t.removeEventListener("focusin", this.#p), this.#t.removeEventListener("focusout", this.#f), this.#t.style.anchorName = "", this.#t.removeAttribute("aria-describedby"), this.#t = null);
4570
+ this.#t && (this.#t.removeEventListener("mouseenter", this.#d), this.#t.removeEventListener("mouseleave", this.#u), this.#t.removeEventListener("focusin", this.#c), this.#t.removeEventListener("focusout", this.#f), this.#t.style.anchorName = "", this.#t.removeAttribute("aria-describedby"), this.#t = null);
4402
4571
  const e = this.anchor;
4403
- e && (this.#t = document.querySelector(e)), this.#t || (this.#t = this.previousElementSibling ?? this.parentElement), this.#t && (this.#t.style.anchorName = this.#i, this.#t.setAttribute("aria-describedby", t), this.#t.addEventListener("mouseenter", this.#d), this.#t.addEventListener("mouseleave", this.#u), this.#t.addEventListener("focusin", this.#p), this.#t.addEventListener("focusout", this.#f));
4404
- }), this.#e.addEventListener("mouseenter", this.#v), this.#e.addEventListener("mouseleave", this.#b), this.addEventListener("keydown", this.#c);
4572
+ e && (this.#t = document.querySelector(e)), this.#t || (this.#t = this.previousElementSibling ?? this.parentElement), this.#t && (this.#t.style.anchorName = this.#i, this.#t.setAttribute("aria-describedby", t), this.#t.addEventListener("mouseenter", this.#d), this.#t.addEventListener("mouseleave", this.#u), this.#t.addEventListener("focusin", this.#c), this.#t.addEventListener("focusout", this.#f));
4573
+ }), this.#e.addEventListener("mouseenter", this.#m), this.#e.addEventListener("mouseleave", this.#b), this.addEventListener("keydown", this.#p);
4405
4574
  }
4406
4575
  dispose() {
4407
- this.#h(), this.#t && (this.#t.removeEventListener("mouseenter", this.#d), this.#t.removeEventListener("mouseleave", this.#u), this.#t.removeEventListener("focusin", this.#p), this.#t.removeEventListener("focusout", this.#f), this.#t.style.anchorName = "", this.#t.removeAttribute("aria-describedby")), this.#e?.removeEventListener("mouseenter", this.#v), this.#e?.removeEventListener("mouseleave", this.#b), this.removeEventListener("keydown", this.#c), this.#r();
4576
+ this.#o(), this.#t && (this.#t.removeEventListener("mouseenter", this.#d), this.#t.removeEventListener("mouseleave", this.#u), this.#t.removeEventListener("focusin", this.#c), this.#t.removeEventListener("focusout", this.#f), this.#t.style.anchorName = "", this.#t.removeAttribute("aria-describedby")), this.#e?.removeEventListener("mouseenter", this.#m), this.#e?.removeEventListener("mouseleave", this.#b), this.removeEventListener("keydown", this.#p), this.#r();
4408
4577
  }
4409
4578
  // ── Show / Hide ─────────────────────────────────────────
4410
4579
  #a() {
@@ -4425,11 +4594,11 @@ class Re extends d {
4425
4594
  this.open = !1;
4426
4595
  }
4427
4596
  }
4428
- #h() {
4597
+ #o() {
4429
4598
  this.#s !== null && (clearTimeout(this.#s), this.#s = null), this.#n !== null && (clearTimeout(this.#n), this.#n = null);
4430
4599
  }
4431
- #o() {
4432
- this.#h();
4600
+ #h() {
4601
+ this.#o();
4433
4602
  const t = parseInt(this.delay) || 300;
4434
4603
  this.#s = setTimeout(() => {
4435
4604
  this.#s = null, this.#a();
@@ -4444,157 +4613,163 @@ class Re extends d {
4444
4613
  }
4445
4614
  // ── Event handlers ──────────────────────────────────────
4446
4615
  #d = () => {
4447
- this.#o();
4616
+ this.#h();
4448
4617
  };
4449
4618
  #u = () => {
4450
4619
  this.#l();
4451
4620
  };
4452
- #p = () => {
4453
- this.#o();
4621
+ #c = () => {
4622
+ this.#h();
4454
4623
  };
4455
4624
  #f = () => {
4456
4625
  this.#l();
4457
4626
  };
4458
- #v = () => {
4627
+ #m = () => {
4459
4628
  this.#n !== null && (clearTimeout(this.#n), this.#n = null);
4460
4629
  };
4461
4630
  #b = () => {
4462
4631
  this.#l();
4463
4632
  };
4464
- #c = (t) => {
4465
- t.key === "Escape" && this.open && (this.#h(), this.#r());
4466
- };
4467
- }
4468
- function z(h) {
4469
- let t = 0, e = 0, i = 0, s = 1;
4470
- h = h.replace(/^#/, ""), h.length === 3 || h.length === 4 ? (t = parseInt(h[0] + h[0], 16) / 255, e = parseInt(h[1] + h[1], 16) / 255, i = parseInt(h[2] + h[2], 16) / 255, h.length === 4 && (s = parseInt(h[3] + h[3], 16) / 255)) : (h.length === 6 || h.length === 8) && (t = parseInt(h.slice(0, 2), 16) / 255, e = parseInt(h.slice(2, 4), 16) / 255, i = parseInt(h.slice(4, 6), 16) / 255, h.length === 8 && (s = parseInt(h.slice(6, 8), 16) / 255));
4471
- const n = Math.max(t, e, i), a = Math.min(t, e, i), r = n - a;
4472
- let o = 0, l = 0;
4473
- const u = (n + a) / 2;
4474
- if (r !== 0)
4475
- switch (l = u > 0.5 ? r / (2 - n - a) : r / (n + a), n) {
4476
- case t:
4477
- o = ((e - i) / r + (e < i ? 6 : 0)) / 6;
4478
- break;
4479
- case e:
4480
- o = ((i - t) / r + 2) / 6;
4481
- break;
4482
- case i:
4483
- o = ((t - e) / r + 4) / 6;
4484
- break;
4485
- }
4486
- return {
4487
- h: Math.round(o * 360),
4488
- s: Math.round(l * 100),
4489
- l: Math.round(u * 100),
4490
- a: Math.round(s * 100) / 100
4633
+ #p = (t) => {
4634
+ t.key === "Escape" && this.open && (this.#o(), this.#r());
4491
4635
  };
4492
4636
  }
4493
- function N(h, t, e, i = 1) {
4494
- t /= 100, e /= 100;
4495
- const s = (1 - Math.abs(2 * e - 1)) * t, n = s * (1 - Math.abs(h / 60 % 2 - 1)), a = e - s / 2;
4496
- let r = 0, o = 0, l = 0;
4497
- h < 60 ? (r = s, o = n, l = 0) : h < 120 ? (r = n, o = s, l = 0) : h < 180 ? (r = 0, o = s, l = n) : h < 240 ? (r = 0, o = n, l = s) : h < 300 ? (r = n, o = 0, l = s) : (r = s, o = 0, l = n);
4498
- const u = (m) => Math.round((m + a) * 255).toString(16).padStart(2, "0");
4499
- let f = `#${u(r)}${u(o)}${u(l)}`;
4500
- return i < 1 && (f += Math.round(i * 255).toString(16).padStart(2, "0")), f;
4501
- }
4502
- class ze extends d {
4637
+ class Ye extends d {
4503
4638
  static attributes = {
4504
4639
  value: { type: "string", default: "#000000" },
4505
- format: { type: "string", default: "hex" },
4506
- "show-alpha": { type: "boolean", default: !1 },
4640
+ format: { type: "string", default: "oklch" },
4641
+ alpha: { type: "boolean", default: !1 },
4507
4642
  disabled: { type: "boolean", default: !1 }
4508
4643
  };
4509
4644
  #e = null;
4510
4645
  #t = null;
4511
4646
  #i = null;
4512
4647
  #s = null;
4513
- // Internal HSL(A) state
4514
- #n = 0;
4515
- #a = 0;
4516
- #r = 0;
4517
- #h = 1;
4518
- #o = !1;
4648
+ #n = null;
4649
+ #a = null;
4650
+ #r = null;
4651
+ #o = null;
4652
+ #h = null;
4653
+ #l = null;
4654
+ #d = null;
4655
+ #u = /* @__PURE__ */ new Map();
4656
+ // Internal OKLCH(A) state
4657
+ #c = 0;
4658
+ #f = 0;
4659
+ #m = 0;
4660
+ #b = 1;
4661
+ #p = !1;
4519
4662
  activate() {
4520
- this.#e = document.createElement("aui-color-area"), this.#e.setAttribute("data-color-picker-area", ""), this.#t = document.createElement("aui-color-slider"), this.#t.setAttribute("channel", "hue"), this.#t.setAttribute("data-color-picker-hue", ""), this.#i = document.createElement("aui-color-slider"), this.#i.setAttribute("channel", "alpha"), this.#i.setAttribute("data-color-picker-alpha", ""), this.#s = document.createElement("aui-color-field"), this.#s.setAttribute("data-color-picker-field", ""), this.appendChild(this.#e), this.appendChild(this.#t), this.appendChild(this.#i), this.appendChild(this.#s), this.#l(), this.addEffect(() => {
4521
- this.hasAttribute("show-alpha") ? this.#i.style.display = "" : this.#i.style.display = "none", this.disabled ? (this.#e.setAttribute("disabled", ""), this.#t.setAttribute("disabled", ""), this.#i.setAttribute("disabled", ""), this.#s.setAttribute("disabled", "")) : (this.#e.removeAttribute("disabled"), this.#t.removeAttribute("disabled"), this.#i.removeAttribute("disabled"), this.#s.removeAttribute("disabled"));
4663
+ this.#e = document.createElement("aui-color-area"), this.#e.setAttribute("data-color-picker-area", ""), this.appendChild(this.#e);
4664
+ const t = document.createElement("div");
4665
+ t.setAttribute("data-color-picker-sliders", "");
4666
+ const e = (a, r) => {
4667
+ const h = document.createElement("div");
4668
+ h.setAttribute("data-color-picker-slider-row", "");
4669
+ const l = document.createElement("span");
4670
+ l.setAttribute("data-color-picker-slider-label", ""), l.textContent = a;
4671
+ const c = document.createElement("aui-color-slider");
4672
+ c.setAttribute("channel", r);
4673
+ const u = document.createElement("span");
4674
+ return u.setAttribute("data-color-picker-slider-value", ""), this.#u.set(r, u), h.appendChild(l), h.appendChild(c), h.appendChild(u), t.appendChild(h), c;
4675
+ };
4676
+ this.#t = e("H", "hue"), this.#i = e("C", "chroma"), this.#s = e("L", "lightness"), this.#n = e("A", "alpha"), this.#a = this.#n.parentElement, this.appendChild(t), this.#r = document.createElement("div"), this.#r.setAttribute("data-color-picker-output", "");
4677
+ const i = document.createElement("div");
4678
+ i.setAttribute("data-color-picker-output-group", ""), this.#h = document.createElement("span"), this.#h.setAttribute("data-color-picker-value", ""), this.#o = document.createElement("aui-copy-button"), this.#o.setAttribute("size", "sm"), i.appendChild(this.#h), i.appendChild(this.#o);
4679
+ const s = document.createElement("div");
4680
+ s.setAttribute("data-color-picker-output-group", ""), this.#d = document.createElement("span"), this.#d.setAttribute("data-color-picker-value", ""), this.#l = document.createElement("aui-copy-button"), this.#l.setAttribute("size", "sm"), s.appendChild(this.#d), s.appendChild(this.#l), this.#r.appendChild(i), this.#r.appendChild(s), this.appendChild(this.#r), this.#A(), this.addEffect(() => {
4681
+ this.#a && (this.#a.style.display = this.alpha ? "" : "none");
4682
+ const a = [this.#t, this.#i, this.#s, this.#n];
4683
+ if (this.disabled) {
4684
+ this.#e.setAttribute("disabled", "");
4685
+ for (const r of a) r?.setAttribute("disabled", "");
4686
+ } else {
4687
+ this.#e.removeAttribute("disabled");
4688
+ for (const r of a) r?.removeAttribute("disabled");
4689
+ }
4522
4690
  }), this.addEffect(() => {
4523
- this.#o || (this.#l(), this.#d());
4524
- }), this.#e.addEventListener("input", this.#f), this.#e.addEventListener("change", this.#v), this.#t.addEventListener("input", this.#b), this.#t.addEventListener("change", this.#c), this.#i.addEventListener("input", this.#g), this.#i.addEventListener("change", this.#m), this.#s.addEventListener("change", this.#A);
4691
+ this.#p || (this.#A(), this.#v());
4692
+ }), this.#e.addEventListener("input", this.#g), this.#e.addEventListener("change", this.#C);
4693
+ const n = (a) => (r) => {
4694
+ const h = r;
4695
+ h.stopPropagation();
4696
+ const l = h.detail?.value ?? 0;
4697
+ a === "hue" ? this.#m = l : a === "chroma" ? this.#f = l : a === "lightness" ? this.#c = l : a === "alpha" && (this.#b = l), this.#y(), r.type === "change" && this.#E();
4698
+ };
4699
+ for (const [a, r] of [
4700
+ ["hue", this.#t],
4701
+ ["chroma", this.#i],
4702
+ ["lightness", this.#s],
4703
+ ["alpha", this.#n]
4704
+ ])
4705
+ r && (r.addEventListener("input", n(a)), r.addEventListener("change", n(a)));
4525
4706
  }
4526
4707
  dispose() {
4527
- this.#e?.removeEventListener("input", this.#f), this.#e?.removeEventListener("change", this.#v), this.#t?.removeEventListener("input", this.#b), this.#t?.removeEventListener("change", this.#c), this.#i?.removeEventListener("input", this.#g), this.#i?.removeEventListener("change", this.#m), this.#s?.removeEventListener("change", this.#A);
4528
4708
  }
4529
4709
  // ── Value parsing ───────────────────────────────────────
4530
- #l() {
4531
- const t = this.value || "#000000";
4710
+ #A() {
4711
+ const t = (this.value || "").trim();
4712
+ if (t.startsWith("oklch(")) {
4713
+ const e = At(t);
4714
+ if (e) {
4715
+ this.#c = e.l, this.#f = e.c, this.#m = e.h, this.#b = e.a;
4716
+ return;
4717
+ }
4718
+ }
4532
4719
  if (t.startsWith("#")) {
4533
- const e = z(t);
4534
- this.#n = e.h, this.#a = e.s, this.#r = e.l, this.#h = e.a;
4720
+ const e = gt(t);
4721
+ this.#c = e.l, this.#f = e.c, this.#m = e.h, this.#b = e.a;
4722
+ return;
4535
4723
  }
4724
+ this.#c = 0, this.#f = 0, this.#m = 0, this.#b = 1;
4536
4725
  }
4537
4726
  // ── Sync sub-components ─────────────────────────────────
4538
- #d() {
4539
- if (this.#e && (this.#e.setAttribute("hue", String(this.#n)), this.#e.setAttribute("saturation", String(this.#a)), this.#e.setAttribute("lightness", String(this.#r))), this.#t && (this.#t.setAttribute("value", String(this.#n)), this.#t.setAttribute("hue", String(this.#n)), this.#t.setAttribute("saturation", String(this.#a)), this.#t.setAttribute("lightness", String(this.#r))), this.#i && (this.#i.setAttribute("value", String(this.#h)), this.#i.setAttribute("hue", String(this.#n)), this.#i.setAttribute("saturation", String(this.#a)), this.#i.setAttribute("lightness", String(this.#r))), this.#s) {
4540
- const t = N(this.#n, this.#a, this.#r, this.#h);
4541
- this.#s.setAttribute("value", t);
4542
- }
4727
+ #v() {
4728
+ const t = { hue: String(this.#m), chroma: String(this.#f), lightness: String(this.#c) };
4729
+ this.#e && (this.#e.setAttribute("hue", t.hue), this.#e.setAttribute("chroma", t.chroma), this.#e.setAttribute("lightness", t.lightness));
4730
+ const e = (l, c) => {
4731
+ l && (l.setAttribute("value", c), l.setAttribute("hue", t.hue), l.setAttribute("chroma", t.chroma), l.setAttribute("lightness", t.lightness));
4732
+ };
4733
+ e(this.#t, t.hue), e(this.#i, t.chroma), e(this.#s, t.lightness), e(this.#n, String(this.#b));
4734
+ const i = this.#u.get("hue"), s = this.#u.get("chroma"), n = this.#u.get("lightness"), a = this.#u.get("alpha");
4735
+ i && (i.textContent = String(Math.round(this.#m))), s && (s.textContent = (Math.round(this.#f * 1e3) / 1e3).toFixed(3)), n && (n.textContent = (Math.round(this.#c * 1e3) / 1e3).toFixed(3)), a && (a.textContent = (Math.round(this.#b * 100) / 100).toFixed(2));
4736
+ const r = B(this.#c, this.#f, this.#m, this.#b < 1 ? this.#b : void 0), h = C(this.#c, this.#f, this.#m, this.#b);
4737
+ this.#o && this.#o.setAttribute("value", r), this.#h && (this.#h.textContent = r), this.#l && this.#l.setAttribute("value", h), this.#d && (this.#d.textContent = h);
4543
4738
  }
4544
- #u() {
4545
- this.#o = !0, this.value = N(this.#n, this.#a, this.#r, this.#h), this.#d(), this.#o = !1;
4739
+ #y() {
4740
+ this.#p = !0, this.format === "hex" ? this.value = C(this.#c, this.#f, this.#m, this.#b) : this.value = B(this.#c, this.#f, this.#m, this.#b < 1 ? this.#b : void 0), this.#v(), this.#p = !1;
4546
4741
  }
4547
- #p() {
4742
+ #E() {
4548
4743
  this.dispatchEvent(new CustomEvent("change", {
4549
4744
  bubbles: !0,
4550
4745
  composed: !0,
4551
4746
  detail: {
4552
4747
  value: this.value,
4553
- h: this.#n,
4554
- s: this.#a,
4555
- l: this.#r,
4556
- a: this.#h
4748
+ l: this.#c,
4749
+ c: this.#f,
4750
+ h: this.#m,
4751
+ a: this.#b
4557
4752
  }
4558
4753
  }));
4559
4754
  }
4560
4755
  // ── Event handlers ──────────────────────────────────────
4561
- #f = (t) => {
4562
- t.stopPropagation(), this.#a = t.detail.s, this.#r = t.detail.l, this.#u();
4563
- };
4564
- #v = (t) => {
4565
- t.stopPropagation(), this.#a = t.detail.s, this.#r = t.detail.l, this.#u(), this.#p();
4566
- };
4567
- #b = (t) => {
4568
- t.stopPropagation(), this.#n = t.detail.value, this.#u();
4569
- };
4570
- #c = (t) => {
4571
- t.stopPropagation(), this.#n = t.detail.value, this.#u(), this.#p();
4572
- };
4573
4756
  #g = (t) => {
4574
- t.stopPropagation(), this.#h = t.detail.value, this.#u();
4757
+ t.stopPropagation(), this.#c = t.detail.l, this.#f = t.detail.c, this.#y();
4575
4758
  };
4576
- #m = (t) => {
4577
- t.stopPropagation(), this.#h = t.detail.value, this.#u(), this.#p();
4578
- };
4579
- #A = (t) => {
4580
- t.stopPropagation();
4581
- const e = t.detail.value || "";
4582
- if (e.startsWith("#")) {
4583
- const i = z(e);
4584
- this.#n = i.h, this.#a = i.s, this.#r = i.l, this.#h = i.a, this.#u(), this.#p();
4585
- }
4759
+ #C = (t) => {
4760
+ t.stopPropagation(), this.#c = t.detail.l, this.#f = t.detail.c, this.#y(), this.#E();
4586
4761
  };
4587
4762
  }
4588
- function ct(h) {
4589
- const t = h.match(/^(\d+(?:\.\d+)?)\s*(KB|MB|GB)$/i);
4763
+ function wt(o) {
4764
+ const t = o.match(/^(\d+(?:\.\d+)?)\s*(KB|MB|GB)$/i);
4590
4765
  if (!t) return 1 / 0;
4591
4766
  const e = parseFloat(t[1]), i = t[2].toUpperCase();
4592
4767
  return i === "KB" ? e * 1024 : i === "MB" ? e * 1024 * 1024 : i === "GB" ? e * 1024 * 1024 * 1024 : 1 / 0;
4593
4768
  }
4594
- function pt(h) {
4595
- return h < 1024 ? `${h} B` : h < 1024 * 1024 ? `${(h / 1024).toFixed(1)} KB` : `${(h / (1024 * 1024)).toFixed(1)} MB`;
4769
+ function Ct(o) {
4770
+ return o < 1024 ? `${o} B` : o < 1024 * 1024 ? `${(o / 1024).toFixed(1)} KB` : `${(o / (1024 * 1024)).toFixed(1)} MB`;
4596
4771
  }
4597
- class Ne extends d {
4772
+ class je extends d {
4598
4773
  static attributes = {
4599
4774
  accept: { type: "string", default: "" },
4600
4775
  multiple: { type: "boolean", default: !1 },
@@ -4616,10 +4791,10 @@ class Ne extends d {
4616
4791
  const e = document.createElement("span");
4617
4792
  e.setAttribute("data-file-upload-text", ""), e.textContent = "Drop files here or click to browse", this.#e.appendChild(e), this.#t = document.createElement("input"), this.#t.type = "file", this.#t.setAttribute("data-file-upload-input", ""), this.#t.hidden = !0, this.#e.appendChild(this.#t), this.#i = document.createElement("div"), this.#i.setAttribute("data-file-upload-list", ""), this.prepend(this.#e), this.appendChild(this.#i), this.addEffect(() => {
4618
4793
  this.#t && (this.accept ? this.#t.accept = this.accept : this.#t.removeAttribute("accept"), this.#t.multiple = this.multiple);
4619
- }), this.#e.addEventListener("click", this.#n), this.#t.addEventListener("change", this.#a), this.#e.addEventListener("dragover", this.#r), this.#e.addEventListener("dragleave", this.#h), this.#e.addEventListener("drop", this.#o);
4794
+ }), this.#e.addEventListener("click", this.#n), this.#t.addEventListener("change", this.#a), this.#e.addEventListener("dragover", this.#r), this.#e.addEventListener("dragleave", this.#o), this.#e.addEventListener("drop", this.#h);
4620
4795
  }
4621
4796
  dispose() {
4622
- this.#e?.removeEventListener("click", this.#n), this.#e?.removeEventListener("dragover", this.#r), this.#e?.removeEventListener("dragleave", this.#h), this.#e?.removeEventListener("drop", this.#o), this.#t?.removeEventListener("change", this.#a), this.#e?.remove(), this.#i?.remove(), this.#e = null, this.#t = null, this.#i = null, this.#s = [];
4797
+ this.#e?.removeEventListener("click", this.#n), this.#e?.removeEventListener("dragover", this.#r), this.#e?.removeEventListener("dragleave", this.#o), this.#e?.removeEventListener("drop", this.#h), this.#t?.removeEventListener("change", this.#a), this.#e?.remove(), this.#i?.remove(), this.#e = null, this.#t = null, this.#i = null, this.#s = [];
4623
4798
  }
4624
4799
  #n = () => {
4625
4800
  this.disabled || this.#t?.click();
@@ -4630,14 +4805,14 @@ class Ne extends d {
4630
4805
  #r = (t) => {
4631
4806
  t.preventDefault(), !this.disabled && this.#e?.setAttribute("data-file-upload-drag-active", "");
4632
4807
  };
4633
- #h = () => {
4808
+ #o = () => {
4634
4809
  this.#e?.removeAttribute("data-file-upload-drag-active");
4635
4810
  };
4636
- #o = (t) => {
4811
+ #h = (t) => {
4637
4812
  t.preventDefault(), this.#e?.removeAttribute("data-file-upload-drag-active"), !this.disabled && t.dataTransfer?.files && this.#l(Array.from(t.dataTransfer.files));
4638
4813
  };
4639
4814
  #l(t) {
4640
- const e = this["max-size"] ? ct(this["max-size"]) : 1 / 0, i = this["max-files"] ? parseInt(this["max-files"], 10) : 1 / 0;
4815
+ const e = this["max-size"] ? wt(this["max-size"]) : 1 / 0, i = this["max-files"] ? parseInt(this["max-files"], 10) : 1 / 0;
4641
4816
  for (const s of t)
4642
4817
  if (!(s.size > e)) {
4643
4818
  if (this.#s.length >= i) break;
@@ -4661,27 +4836,27 @@ class Ne extends d {
4661
4836
  for (let t = 0; t < this.#s.length; t++) {
4662
4837
  const e = this.#s[t], i = document.createElement("div");
4663
4838
  if (i.setAttribute("data-file-upload-item", ""), e.type.startsWith("image/")) {
4664
- const o = document.createElement("img");
4665
- o.setAttribute("data-file-upload-preview", ""), o.src = URL.createObjectURL(e), o.alt = e.name, i.appendChild(o);
4839
+ const h = document.createElement("img");
4840
+ h.setAttribute("data-file-upload-preview", ""), h.src = URL.createObjectURL(e), h.alt = e.name, i.appendChild(h);
4666
4841
  } else {
4667
- const o = document.createElement("aui-icon");
4668
- o.setAttribute("name", "file-text"), o.setAttribute("size", "sm"), o.setAttribute("data-file-upload-file-icon", ""), i.appendChild(o);
4842
+ const h = document.createElement("aui-icon");
4843
+ h.setAttribute("name", "file-text"), h.setAttribute("size", "sm"), h.setAttribute("data-file-upload-file-icon", ""), i.appendChild(h);
4669
4844
  }
4670
4845
  const s = document.createElement("span");
4671
4846
  s.setAttribute("data-file-upload-name", ""), s.textContent = e.name, i.appendChild(s);
4672
4847
  const n = document.createElement("span");
4673
- n.setAttribute("data-file-upload-size", ""), n.textContent = pt(e.size), i.appendChild(n);
4848
+ n.setAttribute("data-file-upload-size", ""), n.textContent = Ct(e.size), i.appendChild(n);
4674
4849
  const a = document.createElement("button");
4675
4850
  a.setAttribute("data-file-upload-remove", ""), a.setAttribute("aria-label", `Remove ${e.name}`), a.innerHTML = '<aui-icon name="x" size="xs"></aui-icon>';
4676
4851
  const r = t;
4677
- a.addEventListener("click", (o) => {
4678
- o.stopPropagation(), this.#d(r);
4852
+ a.addEventListener("click", (h) => {
4853
+ h.stopPropagation(), this.#d(r);
4679
4854
  }), i.appendChild(a), this.#i.appendChild(i);
4680
4855
  }
4681
4856
  }
4682
4857
  }
4683
4858
  }
4684
- class He extends d {
4859
+ class Xe extends d {
4685
4860
  static attributes = {
4686
4861
  value: { type: "string", default: "" },
4687
4862
  label: { type: "string", default: "Copy" },
@@ -4692,7 +4867,7 @@ class He extends d {
4692
4867
  #i = null;
4693
4868
  #s = null;
4694
4869
  activate() {
4695
- this.#e = document.createElement("button"), this.#e.setAttribute("data-copy-trigger", ""), this.#t = document.createElement("aui-icon"), this.#t.setAttribute("name", "copy"), this.#t.setAttribute("data-copy-icon", ""), this.#i = document.createElement("aui-icon"), this.#i.setAttribute("name", "check"), this.#i.setAttribute("data-copy-check", ""), this.#i.hidden = !0, this.#e.appendChild(this.#t), this.#e.appendChild(this.#i);
4870
+ this.#e = document.createElement("aui-button"), this.#e.setAttribute("ghost", ""), this.#e.setAttribute("hide-label", ""), this.#e.setAttribute("label", "Copy"), this.#e.setAttribute("data-copy-trigger", ""), this.#t = document.createElement("aui-icon"), this.#t.setAttribute("name", "copy"), this.#t.setAttribute("data-copy-icon", ""), this.#i = document.createElement("aui-icon"), this.#i.setAttribute("name", "check"), this.#i.setAttribute("data-copy-check", ""), this.#i.style.display = "none", this.#e.appendChild(this.#t), this.#e.appendChild(this.#i);
4696
4871
  const t = this.firstChild;
4697
4872
  t ? this.insertBefore(this.#e, t) : this.appendChild(this.#e), this.addEffect(() => {
4698
4873
  this.#e && this.#e.setAttribute("aria-label", this.label || "Copy");
@@ -4713,28 +4888,34 @@ class He extends d {
4713
4888
  }
4714
4889
  };
4715
4890
  #a() {
4716
- this.#s && clearTimeout(this.#s), this.#t && (this.#t.hidden = !0), this.#i && (this.#i.hidden = !1), this.#e?.setAttribute("data-copy-copied", ""), this.#s = setTimeout(() => {
4717
- this.#t && (this.#t.hidden = !1), this.#i && (this.#i.hidden = !0), this.#e?.removeAttribute("data-copy-copied"), this.#s = null;
4718
- }, 1500);
4891
+ this.#s && clearTimeout(this.#s), this.#t && (this.#t.style.display = "none"), this.#i && (this.#i.style.display = ""), this.#e?.setAttribute("data-copy-copied", ""), this.#s = setTimeout(() => {
4892
+ this.#t && (this.#t.style.display = ""), this.#i && (this.#i.style.display = "none"), this.#e?.removeAttribute("data-copy-copied"), this.#s = null;
4893
+ }, 3e3);
4719
4894
  }
4720
4895
  }
4721
- class Ue extends d {
4896
+ class We extends d {
4722
4897
  static attributes = {
4723
4898
  label: { type: "string", default: "" },
4724
4899
  value: { type: "string", default: "" },
4725
4900
  trend: { type: "enum", default: "", values: ["up", "down", "neutral", ""] },
4726
- change: { type: "string", default: "" }
4901
+ change: { type: "string", default: "" },
4902
+ "animate-count": { type: "boolean", default: !1 },
4903
+ "animate-count-start": { type: "string", default: "0" },
4904
+ "animate-scramble": { type: "boolean", default: !1 },
4905
+ "duration-ms": { type: "string", default: "2000" }
4727
4906
  };
4728
4907
  #e = null;
4729
4908
  #t = null;
4730
4909
  #i = null;
4910
+ #s = null;
4911
+ #n = !1;
4731
4912
  activate() {
4732
4913
  this.#e = document.createElement("span"), this.#e.setAttribute("data-stat-label", ""), this.#t = document.createElement("span"), this.#t.setAttribute("data-stat-value", ""), this.#i = document.createElement("span"), this.#i.setAttribute("data-stat-change", "");
4733
4914
  const t = this.firstChild;
4734
4915
  t ? (this.insertBefore(this.#i, t), this.insertBefore(this.#t, this.#i), this.insertBefore(this.#e, this.#t)) : (this.appendChild(this.#e), this.appendChild(this.#t), this.appendChild(this.#i)), this.addEffect(() => {
4735
4916
  this.#e && (this.#e.textContent = this.label, this.#e.style.display = this.label ? "" : "none");
4736
4917
  }), this.addEffect(() => {
4737
- this.#t && (this.#t.textContent = this.value, this.#t.style.display = this.value ? "" : "none");
4918
+ this.#t && (this.#t.style.display = this.value ? "" : "none", this.value && (this["animate-count"] || this["animate-scramble"]) && !this.#n ? (this.#n = !0, this["animate-scramble"] ? this.#h(this.value) : this.#o(this.value)) : this.#t.textContent = this.value);
4738
4919
  }), this.addEffect(() => {
4739
4920
  if (!this.#i) return;
4740
4921
  const e = this.trend, i = this.change;
@@ -4747,11 +4928,51 @@ class Ue extends d {
4747
4928
  (e === "up" || e === "down") && (s += "<span data-stat-arrow></span>"), s += i || "", this.#i.innerHTML = s;
4748
4929
  });
4749
4930
  }
4931
+ /** Parse a formatted value into { prefix, number, suffix, decimals, useCommas } */
4932
+ #a(t) {
4933
+ const e = t.match(/^([^0-9]*?)([\d,]+\.?\d*)(.*?)$/);
4934
+ if (!e) return { prefix: "", num: 0, suffix: "", decimals: 0, useCommas: !1 };
4935
+ const i = e[1], s = e[2], n = e[3], a = s.includes(","), r = s.replace(/,/g, ""), h = parseFloat(r), l = r.indexOf("."), c = l >= 0 ? r.length - l - 1 : 0;
4936
+ return { prefix: i, num: h, suffix: n, decimals: c, useCommas: a };
4937
+ }
4938
+ /** Format a number back with prefix, suffix, commas, decimals */
4939
+ #r(t, e, i, s, n) {
4940
+ let a = s > 0 ? t.toFixed(s) : String(Math.round(t));
4941
+ if (n) {
4942
+ const [r, h] = a.split("."), l = r.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
4943
+ a = h ? `${l}.${h}` : l;
4944
+ }
4945
+ return `${e}${a}${i}`;
4946
+ }
4947
+ /** Animate count-up from start to target */
4948
+ #o(t) {
4949
+ const { prefix: e, num: i, suffix: s, decimals: n, useCommas: a } = this.#a(t), r = this["animate-count-start"] || "0", { num: h } = this.#a(r.match(/\d/) ? r : `${e}${r}${s}`), l = parseInt(this["duration-ms"], 10) || 2e3, c = performance.now(), u = (f) => {
4950
+ const p = f - c, m = Math.min(p / l, 1), v = 1 - Math.pow(1 - m, 3), g = h + (i - h) * v;
4951
+ this.#t && (this.#t.textContent = this.#r(g, e, s, n, a)), m < 1 && (this.#s = requestAnimationFrame(u));
4952
+ };
4953
+ this.#s = requestAnimationFrame(u);
4954
+ }
4955
+ /** Animate scramble — randomize characters then resolve to target */
4956
+ #h(t) {
4957
+ const e = "0123456789", i = parseInt(this["duration-ms"], 10) || 2e3, s = performance.now(), n = (a) => {
4958
+ const r = a - s, h = Math.min(r / i, 1);
4959
+ if (this.#t) {
4960
+ let l = "";
4961
+ for (let c = 0; c < t.length; c++) {
4962
+ const u = h * t.length - c;
4963
+ u >= 1 || !/\d/.test(t[c]) ? l += t[c] : (u > 0, l += e[Math.floor(Math.random() * e.length)]);
4964
+ }
4965
+ this.#t.textContent = l;
4966
+ }
4967
+ h < 1 ? this.#s = requestAnimationFrame(n) : this.#t && (this.#t.textContent = t);
4968
+ };
4969
+ this.#s = requestAnimationFrame(n);
4970
+ }
4750
4971
  dispose() {
4751
- this.#e?.remove(), this.#t?.remove(), this.#i?.remove(), this.#e = null, this.#t = null, this.#i = null;
4972
+ this.#s && cancelAnimationFrame(this.#s), this.#e?.remove(), this.#t?.remove(), this.#i?.remove(), this.#e = null, this.#t = null, this.#i = null;
4752
4973
  }
4753
4974
  }
4754
- class $e extends d {
4975
+ class Je extends d {
4755
4976
  static attributes = {
4756
4977
  src: { type: "string", default: "" },
4757
4978
  alt: { type: "string", default: "" },
@@ -4764,7 +4985,7 @@ class $e extends d {
4764
4985
  #t = null;
4765
4986
  #i = !1;
4766
4987
  activate() {
4767
- this.#s(), this.addEffect(() => this.#n()), this.addEffect(() => this.#a()), this.addEffect(() => this.#r()), this.addEffect(() => this.#h());
4988
+ this.#s(), this.addEffect(() => this.#n()), this.addEffect(() => this.#a()), this.addEffect(() => this.#r()), this.addEffect(() => this.#o());
4768
4989
  }
4769
4990
  dispose() {
4770
4991
  this.#t?.remove(), this.#e = null, this.#t = null;
@@ -4775,7 +4996,7 @@ class $e extends d {
4775
4996
  this.setAttribute("data-image-loaded", ""), this.removeAttribute("data-image-error"), this.#i = !1;
4776
4997
  }), t.addEventListener("error", () => {
4777
4998
  this.#i || (this.#i = !0, this.removeAttribute("data-image-loaded"), this.setAttribute("data-image-error", ""), this.fallback && (t.src = this.fallback));
4778
- }), this.prepend(t), this.#e = t, this.zoomable && (this.setAttribute("data-image-zoomable", ""), this.addEventListener("click", this.#o));
4999
+ }), this.prepend(t), this.#e = t, this.zoomable && (this.setAttribute("data-image-zoomable", ""), this.addEventListener("click", this.#h));
4779
5000
  }
4780
5001
  #n() {
4781
5002
  const t = this.src;
@@ -4789,11 +5010,11 @@ class $e extends d {
4789
5010
  const t = this.aspect;
4790
5011
  t ? this.style.aspectRatio = t : this.style.removeProperty("aspect-ratio");
4791
5012
  }
4792
- #h() {
5013
+ #o() {
4793
5014
  const t = this.fit;
4794
5015
  this.#e && (this.#e.style.objectFit = t);
4795
5016
  }
4796
- #o = () => {
5017
+ #h = () => {
4797
5018
  if (!this.src) return;
4798
5019
  const t = document.createElement("dialog");
4799
5020
  t.setAttribute("data-image-lightbox", "");
@@ -4805,7 +5026,7 @@ class $e extends d {
4805
5026
  }), document.body.append(t), this.#t = t, t.showModal();
4806
5027
  };
4807
5028
  }
4808
- class Be extends d {
5029
+ class Ze extends d {
4809
5030
  static deferChildren = !0;
4810
5031
  static attributes = {
4811
5032
  "auto-play": { type: "boolean", default: !1 },
@@ -4822,22 +5043,22 @@ class Be extends d {
4822
5043
  #a = null;
4823
5044
  #r = 0;
4824
5045
  activate() {
4825
- this.#h(), this.addEffect(() => this.#f()), this.addEffect(() => this.#l()), this.addEffect(() => this.#d());
5046
+ this.#o(), this.addEffect(() => this.#f()), this.addEffect(() => this.#l()), this.addEffect(() => this.#d());
4826
5047
  }
4827
5048
  dispose() {
4828
5049
  this.#b(), this.#a?.disconnect(), this.#e = null, this.#t = null, this.#i = null, this.#s = null;
4829
5050
  }
4830
- #h() {
5051
+ #o() {
4831
5052
  const t = document.createElement("div");
4832
5053
  for (t.setAttribute("data-carousel-track", ""), t.setAttribute("tabindex", "0"), t.setAttribute("role", "group"), t.setAttribute("aria-roledescription", "carousel"); this.firstChild; ) {
4833
5054
  const e = this.firstChild;
4834
5055
  e instanceof HTMLElement && (e.setAttribute("data-carousel-slide", ""), e.setAttribute("role", "group"), e.setAttribute("aria-roledescription", "slide")), t.append(e);
4835
5056
  }
4836
- this.append(t), this.#e = t, t.addEventListener("scroll", this.#m, { passive: !0 }), t.addEventListener("keydown", this.#A), this.addEventListener("mouseenter", this.#c), this.addEventListener("mouseleave", this.#g), this.addEventListener("focusin", this.#c), this.addEventListener("focusout", this.#g), this.#a = new IntersectionObserver(
5057
+ this.append(t), this.#e = t, t.addEventListener("scroll", this.#v, { passive: !0 }), t.addEventListener("keydown", this.#y), this.addEventListener("mouseenter", this.#p), this.addEventListener("mouseleave", this.#A), this.addEventListener("focusin", this.#p), this.addEventListener("focusout", this.#A), this.#a = new IntersectionObserver(
4837
5058
  (e) => {
4838
5059
  for (const i of e)
4839
5060
  if (i.isIntersecting) {
4840
- const n = this.#o().indexOf(i.target);
5061
+ const n = this.#h().indexOf(i.target);
4841
5062
  n !== -1 && (this.#r = n, this.#u(), this.dispatchEvent(
4842
5063
  new CustomEvent("aui:carousel-change", {
4843
5064
  bubbles: !0,
@@ -4848,19 +5069,19 @@ class Be extends d {
4848
5069
  },
4849
5070
  { root: t, threshold: 0.5 }
4850
5071
  );
4851
- for (const e of this.#o())
5072
+ for (const e of this.#h())
4852
5073
  this.#a.observe(e);
4853
5074
  }
4854
- #o() {
5075
+ #h() {
4855
5076
  return this.#e ? Array.from(this.#e.querySelectorAll("[data-carousel-slide]")) : [];
4856
5077
  }
4857
5078
  #l() {
4858
5079
  const t = this["show-arrows"];
4859
5080
  if (t && !this.#i) {
4860
- const e = document.createElement("button");
4861
- e.setAttribute("data-carousel-prev", ""), e.setAttribute("aria-label", "Previous slide"), e.innerHTML = '<aui-icon name="caret-left" size="sm"></aui-icon>', e.addEventListener("click", () => this.#p(this.#r - 1));
4862
- const i = document.createElement("button");
4863
- i.setAttribute("data-carousel-next", ""), i.setAttribute("aria-label", "Next slide"), i.innerHTML = '<aui-icon name="caret-right" size="sm"></aui-icon>', i.addEventListener("click", () => this.#p(this.#r + 1)), this.append(e, i), this.#i = e, this.#s = i;
5081
+ const e = document.createElement("aui-button");
5082
+ e.setAttribute("data-carousel-prev", ""), e.setAttribute("scrim", ""), e.setAttribute("hide-label", ""), e.setAttribute("label", "Previous slide"), e.setAttribute("icon-leading", "caret-left"), e.setAttribute("size", "sm"), e.addEventListener("click", () => this.#c(this.#r - 1));
5083
+ const i = document.createElement("aui-button");
5084
+ i.setAttribute("data-carousel-next", ""), i.setAttribute("scrim", ""), i.setAttribute("hide-label", ""), i.setAttribute("label", "Next slide"), i.setAttribute("icon-leading", "caret-right"), i.setAttribute("size", "sm"), i.addEventListener("click", () => this.#c(this.#r + 1)), this.append(e, i), this.#i = e, this.#s = i;
4864
5085
  } else !t && this.#i && (this.#i.remove(), this.#s?.remove(), this.#i = null, this.#s = null);
4865
5086
  }
4866
5087
  #d() {
@@ -4868,10 +5089,10 @@ class Be extends d {
4868
5089
  if (t && !this.#t) {
4869
5090
  const e = document.createElement("div");
4870
5091
  e.setAttribute("data-carousel-dots", ""), e.setAttribute("role", "tablist");
4871
- const i = this.#o();
5092
+ const i = this.#h();
4872
5093
  for (let s = 0; s < i.length; s++) {
4873
5094
  const n = document.createElement("button");
4874
- n.setAttribute("data-carousel-dot", ""), n.setAttribute("role", "tab"), n.setAttribute("aria-label", `Go to slide ${s + 1}`), s === this.#r && n.setAttribute("data-carousel-dot-active", ""), n.addEventListener("click", () => this.#p(s)), e.append(n);
5095
+ n.setAttribute("data-carousel-dot", ""), n.setAttribute("role", "tab"), n.setAttribute("aria-label", `Go to slide ${s + 1}`), s === this.#r && n.setAttribute("data-carousel-dot-active", ""), n.addEventListener("click", () => this.#c(s)), e.append(n);
4875
5096
  }
4876
5097
  this.append(e), this.#t = e;
4877
5098
  } else !t && this.#t && (this.#t.remove(), this.#t = null);
@@ -4882,8 +5103,8 @@ class Be extends d {
4882
5103
  for (let e = 0; e < t.length; e++)
4883
5104
  e === this.#r ? t[e].setAttribute("data-carousel-dot-active", "") : t[e].removeAttribute("data-carousel-dot-active");
4884
5105
  }
4885
- #p(t) {
4886
- const e = this.#o();
5106
+ #c(t) {
5107
+ const e = this.#h();
4887
5108
  if (!e.length || !this.#e) return;
4888
5109
  let i = t;
4889
5110
  this.loop ? i = (t % e.length + e.length) % e.length : i = Math.max(0, Math.min(t, e.length - 1));
@@ -4891,33 +5112,33 @@ class Be extends d {
4891
5112
  s && s.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "start" });
4892
5113
  }
4893
5114
  #f() {
4894
- this["auto-play"] ? this.#v() : this.#b();
5115
+ this["auto-play"] ? this.#m() : this.#b();
4895
5116
  }
4896
- #v() {
5117
+ #m() {
4897
5118
  this.#b();
4898
5119
  const t = parseInt(this.interval, 10) || 4e3;
4899
5120
  this.#n = setInterval(() => {
4900
- const e = this.#o(), i = this.#r + 1;
4901
- i >= e.length && !this.loop ? this.#p(0) : this.#p(i);
5121
+ const e = this.#h(), i = this.#r + 1;
5122
+ i >= e.length && !this.loop ? this.#c(0) : this.#c(i);
4902
5123
  }, t);
4903
5124
  }
4904
5125
  #b() {
4905
5126
  this.#n !== null && (clearInterval(this.#n), this.#n = null);
4906
5127
  }
4907
- #c = () => {
5128
+ #p = () => {
4908
5129
  this.#b();
4909
5130
  };
4910
- #g = () => {
4911
- this["auto-play"] && this.#v();
5131
+ #A = () => {
5132
+ this["auto-play"] && this.#m();
4912
5133
  };
4913
- #m = () => {
5134
+ #v = () => {
4914
5135
  };
4915
- #A = (t) => {
4916
- t.key === "ArrowLeft" ? (t.preventDefault(), this.#p(this.#r - 1)) : t.key === "ArrowRight" && (t.preventDefault(), this.#p(this.#r + 1));
5136
+ #y = (t) => {
5137
+ t.key === "ArrowLeft" ? (t.preventDefault(), this.#c(this.#r - 1)) : t.key === "ArrowRight" && (t.preventDefault(), this.#c(this.#r + 1));
4917
5138
  };
4918
5139
  }
4919
- let ft = 0;
4920
- class Ve extends d {
5140
+ let kt = 0;
5141
+ class Qe extends d {
4921
5142
  static attributes = {
4922
5143
  max: { type: "string", default: "50" }
4923
5144
  };
@@ -4929,14 +5150,14 @@ class Ve extends d {
4929
5150
  #a = null;
4930
5151
  #r = null;
4931
5152
  activate() {
4932
- this.#h();
5153
+ this.#o();
4933
5154
  }
4934
5155
  dispose() {
4935
5156
  this.#t = null, this.#i = null, this.#s = null, this.#n = null, this.#a = null, this.#r = null, this.#e.length = 0;
4936
5157
  }
4937
5158
  // ── Public API ──────────────────────────────────────────────
4938
5159
  add(t) {
4939
- const e = `notif-${++ft}`, i = {
5160
+ const e = `notif-${++kt}`, i = {
4940
5161
  id: e,
4941
5162
  title: t.title,
4942
5163
  message: t.message,
@@ -4970,9 +5191,9 @@ class Ve extends d {
4970
5191
  return this.#e.filter((t) => !t.read).length;
4971
5192
  }
4972
5193
  // ── Internal ────────────────────────────────────────────────
4973
- #h() {
4974
- const t = document.createElement("button");
4975
- t.setAttribute("data-nc-trigger", ""), t.setAttribute("aria-label", "Notifications"), t.innerHTML = '<aui-icon name="bell" size="sm"></aui-icon>', t.addEventListener("click", this.#o);
5194
+ #o() {
5195
+ const t = document.createElement("aui-button");
5196
+ t.setAttribute("data-nc-trigger", ""), t.setAttribute("ghost", ""), t.setAttribute("hide-label", ""), t.setAttribute("label", "Notifications"), t.setAttribute("icon-leading", "bell"), t.addEventListener("click", this.#h);
4976
5197
  const e = document.createElement("span");
4977
5198
  e.setAttribute("data-nc-badge", ""), e.hidden = !0, t.append(e);
4978
5199
  const i = document.createElement("div");
@@ -4981,14 +5202,14 @@ class Ve extends d {
4981
5202
  s.setAttribute("data-nc-header", "");
4982
5203
  const n = document.createElement("span");
4983
5204
  n.setAttribute("data-nc-title", ""), n.textContent = "Notifications";
4984
- const a = document.createElement("button");
4985
- a.setAttribute("data-nc-clear", ""), a.textContent = "Clear all", a.addEventListener("click", () => this.clearAll()), this.#r = a, s.append(n, a);
5205
+ const a = document.createElement("aui-button");
5206
+ a.setAttribute("data-nc-clear", ""), a.setAttribute("ghost", ""), a.setAttribute("size", "sm"), a.textContent = "Clear all", a.addEventListener("click", () => this.clearAll()), this.#r = a, s.append(n, a);
4986
5207
  const r = document.createElement("div");
4987
5208
  r.setAttribute("data-nc-list", ""), this.#n = r;
4988
- const o = document.createElement("div");
4989
- o.setAttribute("data-nc-empty", ""), o.textContent = "No notifications", this.#a = o, i.append(s, r, o), this.append(t, i), this.#t = t, this.#i = e, this.#s = i, this.#l();
5209
+ const h = document.createElement("div");
5210
+ h.setAttribute("data-nc-empty", ""), h.textContent = "No notifications", this.#a = h, i.append(s, r, h), this.append(t, i), this.#t = t, this.#i = e, this.#s = i, this.#l();
4990
5211
  }
4991
- #o = () => {
5212
+ #h = () => {
4992
5213
  if (this.#s) {
4993
5214
  try {
4994
5215
  this.#s.togglePopover();
@@ -5012,14 +5233,14 @@ class Ve extends d {
5012
5233
  s.setAttribute("data-nc-item-content", "");
5013
5234
  const n = document.createElement("div");
5014
5235
  if (n.setAttribute("data-nc-item-title", ""), n.textContent = e.title, s.append(n), e.message) {
5015
- const o = document.createElement("div");
5016
- o.setAttribute("data-nc-item-message", ""), o.textContent = e.message, s.append(o);
5236
+ const h = document.createElement("div");
5237
+ h.setAttribute("data-nc-item-message", ""), h.textContent = e.message, s.append(h);
5017
5238
  }
5018
5239
  const a = document.createElement("div");
5019
5240
  a.setAttribute("data-nc-item-time", ""), a.textContent = this.#d(e.timestamp), s.append(a);
5020
- const r = document.createElement("button");
5021
- r.setAttribute("data-nc-item-dismiss", ""), r.setAttribute("aria-label", "Dismiss"), r.innerHTML = '<aui-icon name="x" size="xs"></aui-icon>', r.addEventListener("click", (o) => {
5022
- o.stopPropagation(), this.dismiss(e.id);
5241
+ const r = document.createElement("aui-button");
5242
+ r.setAttribute("data-nc-item-dismiss", ""), r.setAttribute("ghost", ""), r.setAttribute("hide-label", ""), r.setAttribute("label", "Dismiss"), r.setAttribute("icon-leading", "x"), r.setAttribute("size", "sm"), r.addEventListener("click", (h) => {
5243
+ h.stopPropagation(), this.dismiss(e.id);
5023
5244
  }), i.append(s, r), this.#n.append(i);
5024
5245
  }
5025
5246
  }
@@ -5031,7 +5252,7 @@ class Ve extends d {
5031
5252
  return s < 24 ? `${s}h ago` : `${Math.floor(s / 24)}d ago`;
5032
5253
  }
5033
5254
  }
5034
- class Ke extends d {
5255
+ class ti extends d {
5035
5256
  static attributes = {
5036
5257
  icon: { type: "string", default: "" },
5037
5258
  heading: { type: "string", default: "" },
@@ -5042,19 +5263,19 @@ class Ke extends d {
5042
5263
  #i = null;
5043
5264
  #s = null;
5044
5265
  activate() {
5045
- this.#n(), this.addEffect(() => this.#a()), this.addEffect(() => this.#r()), this.addEffect(() => this.#h());
5266
+ this.#n(), this.addEffect(() => this.#a()), this.addEffect(() => this.#r()), this.addEffect(() => this.#o());
5046
5267
  }
5047
5268
  dispose() {
5048
5269
  this.#e = null, this.#t = null, this.#i = null, this.#s = null;
5049
5270
  }
5050
5271
  #n() {
5051
5272
  const t = Array.from(this.childNodes), e = document.createElement("aui-icon");
5052
- e.setAttribute("data-empty-state-icon", ""), e.setAttribute("size", "xl"), this.#e = e;
5273
+ e.setAttribute("data-empty-state-icon", ""), e.setAttribute("size", "3xl"), this.#e = e;
5053
5274
  const i = document.createElement("aui-heading");
5054
5275
  i.setAttribute("data-empty-state-heading", ""), i.setAttribute("size", "md"), this.#t = i;
5055
5276
  const s = document.createElement("aui-text");
5056
5277
  s.setAttribute("data-empty-state-description", ""), s.setAttribute("muted", ""), s.setAttribute("size", "sm"), this.#i = s;
5057
- const n = document.createElement("div");
5278
+ const n = document.createElement("aui-button-group");
5058
5279
  n.setAttribute("data-empty-state-actions", "");
5059
5280
  for (const a of t)
5060
5281
  n.append(a);
@@ -5068,93 +5289,107 @@ class Ke extends d {
5068
5289
  const t = this.heading;
5069
5290
  this.#t && (this.#t.textContent = t, this.#t.hidden = !t);
5070
5291
  }
5071
- #h() {
5292
+ #o() {
5072
5293
  const t = this.description;
5073
5294
  this.#i && (this.#i.textContent = t, this.#i.hidden = !t);
5074
5295
  }
5075
5296
  }
5297
+ class ei extends d {
5298
+ static attributes = {
5299
+ value: { type: "string", default: "0" },
5300
+ min: { type: "string", default: "0" },
5301
+ max: { type: "string", default: "100" }
5302
+ };
5303
+ activate() {
5304
+ this.addEffect(() => {
5305
+ const t = Number(this.min) || 0, e = Number(this.max) || 100, i = Number(this.value) || 0, s = Math.max(0, Math.min(100, (i - t) / (e - t) * 100));
5306
+ this.style.setProperty("--aui-meter-pct", String(s));
5307
+ });
5308
+ }
5309
+ }
5076
5310
  export {
5077
- me as $,
5078
- vt as A,
5079
- Kt as B,
5080
- _t as C,
5081
- Yt as D,
5082
- Wt as E,
5083
- Jt as F,
5084
- Xt as G,
5085
- jt as H,
5086
- Gt as I,
5087
- Zt as J,
5088
- Qt as K,
5089
- te as L,
5090
- se as M,
5091
- ee as N,
5092
- ae as O,
5093
- ne as P,
5094
- ie as Q,
5095
- re as R,
5096
- he as S,
5097
- oe as T,
5098
- le as U,
5099
- de as V,
5100
- ue as W,
5101
- ce as X,
5102
- pe as Y,
5103
- fe as Z,
5104
- be as _,
5105
- gt as a,
5106
- ve as a0,
5107
- ge as a1,
5311
+ qt as $,
5312
+ Wt as A,
5313
+ Nt as B,
5314
+ Re as C,
5315
+ ze as D,
5316
+ zt as E,
5317
+ _e as F,
5318
+ ti as G,
5319
+ Ae as H,
5320
+ je as I,
5321
+ Bt as J,
5322
+ Ge as K,
5323
+ Ht as L,
5324
+ Je as M,
5325
+ Dt as N,
5326
+ It as O,
5327
+ ei as P,
5328
+ Qe as Q,
5329
+ Kt as R,
5330
+ Vt as S,
5331
+ Ce as T,
5332
+ Le as U,
5333
+ ke as V,
5334
+ ie as W,
5335
+ de as X,
5336
+ le as Y,
5337
+ Te as Z,
5338
+ Ne as _,
5339
+ Jt as a,
5340
+ Ft as a0,
5341
+ Ut as a1,
5108
5342
  ye as a2,
5109
- Ae as a3,
5110
- Ee as a4,
5111
- xe as a5,
5112
- we as a6,
5113
- ke as a7,
5114
- Ce as a8,
5115
- Le as a9,
5116
- Se as aa,
5117
- De as ab,
5118
- Ie as ac,
5119
- Me as ad,
5120
- Te as ae,
5121
- Pe as af,
5122
- qe as ag,
5123
- Oe as ah,
5124
- Fe as ai,
5125
- Re as aj,
5126
- ze as ak,
5127
- Ne as al,
5343
+ ee as a3,
5344
+ te as a4,
5345
+ _t as a5,
5346
+ Se as a6,
5347
+ De as a7,
5348
+ Ie as a8,
5349
+ Me as a9,
5350
+ qe as aa,
5351
+ We as ab,
5352
+ Pt as ac,
5353
+ jt as ad,
5354
+ Xt as ae,
5355
+ ce as af,
5356
+ ue as ag,
5357
+ pe as ah,
5358
+ fe as ai,
5359
+ be as aj,
5360
+ me as ak,
5361
+ Yt as al,
5128
5362
  He as am,
5129
- Ue as an,
5130
- $e as ao,
5131
- Be as ap,
5132
- Ve as aq,
5133
- Ke as ar,
5134
- At as b,
5135
- Et as c,
5136
- xt as d,
5137
- wt as e,
5138
- kt as f,
5139
- Ct as g,
5140
- Lt as h,
5141
- St as i,
5142
- Dt as j,
5143
- It as k,
5144
- Mt as l,
5145
- yt as m,
5146
- Tt as n,
5147
- Pt as o,
5148
- qt as p,
5149
- Ot as q,
5150
- Ft as r,
5151
- Rt as s,
5152
- zt as t,
5153
- Nt as u,
5154
- Ht as v,
5155
- Ut as w,
5156
- $t as x,
5157
- Bt as y,
5158
- Vt as z
5363
+ Rt as an,
5364
+ Be as ao,
5365
+ Gt as ap,
5366
+ $t as aq,
5367
+ ve as ar,
5368
+ ge as as,
5369
+ we as b,
5370
+ Oe as c,
5371
+ Zt as d,
5372
+ Qt as e,
5373
+ Mt as f,
5374
+ Ee as g,
5375
+ xe as h,
5376
+ Ze as i,
5377
+ Tt as j,
5378
+ Fe as k,
5379
+ Pe as l,
5380
+ L as m,
5381
+ Ue as n,
5382
+ Ye as o,
5383
+ $e as p,
5384
+ se as q,
5385
+ ne as r,
5386
+ ae as s,
5387
+ re as t,
5388
+ oe as u,
5389
+ he as v,
5390
+ Ot as w,
5391
+ Ke as x,
5392
+ Xe as y,
5393
+ Ve as z
5159
5394
  };
5160
- //# sourceMappingURL=empty-state-5M3uR5CM.js.map
5395
+ //# sourceMappingURL=meter-Dju8ik6C.js.map