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

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 (183) 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 +1700 -361
  5. package/dist/api.tokens.json +3 -3
  6. package/dist/api.tokens.yaml +3 -3
  7. package/dist/blocks/action-toolbar/action-toolbar.d.ts +0 -0
  8. package/dist/blocks/agent-artifact-card/agent-artifact-card.d.ts +0 -0
  9. package/dist/blocks/agent-chat-response/agent-chat-response.d.ts +0 -0
  10. package/dist/blocks/agent-code-result/agent-code-result.d.ts +0 -0
  11. package/dist/blocks/agent-context-panel/agent-context-panel.d.ts +0 -0
  12. package/dist/blocks/agent-feedback-controls/agent-feedback-controls.d.ts +0 -0
  13. package/dist/blocks/agent-follow-up-chips/agent-follow-up-chips.d.ts +0 -0
  14. package/dist/blocks/agent-model-selector/agent-model-selector.d.ts +0 -0
  15. package/dist/blocks/agent-prompt-input/agent-prompt-input.d.ts +0 -0
  16. package/dist/blocks/agent-streaming-message/agent-streaming-message.d.ts +0 -0
  17. package/dist/blocks/agent-suggestion-card/agent-suggestion-card.d.ts +0 -0
  18. package/dist/blocks/agent-task-card/agent-task-card.d.ts +0 -0
  19. package/dist/blocks/agent-thinking-state/agent-thinking-state.d.ts +0 -0
  20. package/dist/blocks/agent-tool-use-card/agent-tool-use-card.d.ts +0 -0
  21. package/dist/blocks/auth-card/auth-card.d.ts +0 -0
  22. package/dist/blocks/commerce-pricing-table/commerce-pricing-table.d.ts +0 -0
  23. package/dist/blocks/comms-chat-thread/comms-chat-thread.d.ts +0 -0
  24. package/dist/blocks/comms-notification-list/comms-notification-list.d.ts +0 -0
  25. package/dist/blocks/content-article-card/content-article-card.d.ts +0 -0
  26. package/dist/blocks/dashboard-kpi-grid/dashboard-kpi-grid.d.ts +0 -0
  27. package/dist/blocks/data-activity-log/data-activity-log.d.ts +0 -0
  28. package/dist/blocks/data-metric-card/data-metric-card.d.ts +0 -0
  29. package/dist/blocks/data-table/data-table.d.ts +0 -0
  30. package/dist/blocks/data-timeline/data-timeline.d.ts +0 -0
  31. package/dist/blocks/feedback-alert-banner/feedback-alert-banner.d.ts +0 -0
  32. package/dist/blocks/feedback-empty-state/feedback-empty-state.d.ts +0 -0
  33. package/dist/blocks/feedback-progress-stepper/feedback-progress-stepper.d.ts +0 -0
  34. package/dist/blocks/form-settings-section/form-settings-section.d.ts +0 -0
  35. package/dist/blocks/game-battleship/game-battleship.d.ts +0 -0
  36. package/dist/blocks/game-chess/game-chess.d.ts +0 -0
  37. package/dist/blocks/game-connect-four/game-connect-four.d.ts +0 -0
  38. package/dist/blocks/game-tic-tac-toe/game-tic-tac-toe.d.ts +0 -0
  39. package/dist/blocks/list-kanban-board/list-kanban-board.d.ts +0 -0
  40. package/dist/blocks/media-image-gallery/media-image-gallery.d.ts +0 -0
  41. package/dist/blocks/nav-sidebar/nav-sidebar.d.ts +0 -0
  42. package/dist/blocks/onboard-stepper/onboard-stepper.d.ts +0 -0
  43. package/dist/blocks/overlay-confirmation-modal/overlay-confirmation-modal.d.ts +0 -0
  44. package/dist/blocks/overlay-dropdown-menu/overlay-dropdown-menu.d.ts +0 -0
  45. package/dist/blocks/user-profile-card/user-profile-card.d.ts +0 -0
  46. package/dist/blocks/user-team-list/user-team-list.d.ts +0 -0
  47. package/dist/chunks/{agent-BF_R_HJk.js → agent-XMhz_6OA.js} +27 -22
  48. package/dist/chunks/{agent-BF_R_HJk.js.map → agent-XMhz_6OA.js.map} +1 -1
  49. package/dist/chunks/{meter-Dju8ik6C.js → form-oekEhwja.js} +402 -188
  50. package/dist/chunks/form-oekEhwja.js.map +1 -0
  51. package/dist/components/agent.js +1 -1
  52. package/dist/components/checkbox-group/checkbox-group.d.ts +14 -0
  53. package/dist/components/checkbox-group/index.d.ts +1 -0
  54. package/dist/components/editor.js +1 -1
  55. package/dist/components/form/form.d.ts +12 -0
  56. package/dist/components/form/index.d.ts +1 -0
  57. package/dist/components/graph.js +1 -1
  58. package/dist/components/index.d.ts +2 -0
  59. package/dist/components/noodles/noodle-controller.d.ts +1 -1
  60. package/dist/components.js +89 -87
  61. package/dist/docs/blocks/action-toolbar.yaml +73 -0
  62. package/dist/docs/blocks/agent-artifact-card.yaml +67 -0
  63. package/dist/docs/blocks/agent-chat-response.yaml +65 -0
  64. package/dist/docs/blocks/agent-chat.yaml +33 -25
  65. package/dist/docs/blocks/agent-code-result.yaml +41 -0
  66. package/dist/docs/blocks/agent-context-panel.yaml +96 -0
  67. package/dist/docs/blocks/agent-feedback-controls.yaml +101 -0
  68. package/dist/docs/blocks/agent-follow-up-chips.yaml +37 -0
  69. package/dist/docs/blocks/agent-model-selector.yaml +83 -0
  70. package/dist/docs/blocks/agent-prompt-input.yaml +49 -0
  71. package/dist/docs/blocks/agent-streaming-message.yaml +46 -0
  72. package/dist/docs/blocks/agent-suggestion-card.yaml +68 -0
  73. package/dist/docs/blocks/agent-task-card.yaml +112 -0
  74. package/dist/docs/blocks/agent-thinking-state.yaml +56 -0
  75. package/dist/docs/blocks/agent-tool-use-card.yaml +142 -0
  76. package/dist/docs/blocks/announcement-card.yaml +14 -10
  77. package/dist/docs/blocks/auth-card.yaml +74 -0
  78. package/dist/docs/blocks/bpm-process.yaml +216 -4
  79. package/dist/docs/blocks/chart-activity.yaml +12 -10
  80. package/dist/docs/blocks/chart-card.yaml +14 -11
  81. package/dist/docs/blocks/chart-donut.yaml +27 -23
  82. package/dist/docs/blocks/chart-grouped.yaml +14 -11
  83. package/dist/docs/blocks/chart-horizontal.yaml +13 -10
  84. package/dist/docs/blocks/chart-interactive.yaml +20 -17
  85. package/dist/docs/blocks/chart-labeled.yaml +14 -11
  86. package/dist/docs/blocks/checkout-form.yaml +26 -16
  87. package/dist/docs/blocks/clinical-trial.yaml +180 -4
  88. package/dist/docs/blocks/commerce-pricing-table.yaml +142 -0
  89. package/dist/docs/blocks/comms-chat-thread.yaml +88 -0
  90. package/dist/docs/blocks/comms-notification-list.yaml +88 -0
  91. package/dist/docs/blocks/content-article-card.yaml +47 -0
  92. package/dist/docs/blocks/contributors.yaml +17 -11
  93. package/dist/docs/blocks/cyber-threat.yaml +158 -4
  94. package/dist/docs/blocks/dashboard-kpi-grid.yaml +72 -0
  95. package/dist/docs/blocks/dashboard-layout.yaml +24 -18
  96. package/dist/docs/blocks/data-activity-log.yaml +99 -0
  97. package/dist/docs/blocks/data-eng-dag.yaml +222 -6
  98. package/dist/docs/blocks/data-metric-card.yaml +50 -0
  99. package/dist/docs/blocks/data-table.yaml +106 -0
  100. package/dist/docs/blocks/data-timeline.yaml +103 -0
  101. package/dist/docs/blocks/date-picker.yaml +11 -10
  102. package/dist/docs/blocks/ddx-workflow.yaml +202 -6
  103. package/dist/docs/blocks/empty-state.yaml +8 -11
  104. package/dist/docs/blocks/env-variables.yaml +29 -20
  105. package/dist/docs/blocks/feature-upgrade.yaml +25 -18
  106. package/dist/docs/blocks/feedback-alert-banner.yaml +42 -0
  107. package/dist/docs/blocks/feedback-empty-state.yaml +18 -0
  108. package/dist/docs/blocks/feedback-progress-stepper.yaml +82 -0
  109. package/dist/docs/blocks/financial-risk.yaml +161 -4
  110. package/dist/docs/blocks/flow-editor.yaml +27 -18
  111. package/dist/docs/blocks/form-settings-section.yaml +129 -0
  112. package/dist/docs/blocks/game-battleship.yaml +184 -0
  113. package/dist/docs/blocks/game-chess.yaml +83 -0
  114. package/dist/docs/blocks/game-connect-four.yaml +80 -0
  115. package/dist/docs/blocks/game-tic-tac-toe.yaml +51 -0
  116. package/dist/docs/blocks/gen-ai-pipeline.yaml +232 -5
  117. package/dist/docs/blocks/issue-assign.yaml +25 -14
  118. package/dist/docs/blocks/keyboard-shortcuts.yaml +14 -9
  119. package/dist/docs/blocks/list-kanban-board.yaml +158 -0
  120. package/dist/docs/blocks/login-branded.yaml +62 -23
  121. package/dist/docs/blocks/login-email-only.yaml +14 -13
  122. package/dist/docs/blocks/login-form.yaml +17 -11
  123. package/dist/docs/blocks/login-simple.yaml +18 -12
  124. package/dist/docs/blocks/login-social.yaml +21 -14
  125. package/dist/docs/blocks/login-two-column.yaml +37 -17
  126. package/dist/docs/blocks/marketing-automation.yaml +209 -4
  127. package/dist/docs/blocks/media-image-gallery.yaml +39 -0
  128. package/dist/docs/blocks/member-list.yaml +23 -18
  129. package/dist/docs/blocks/ml-pipeline.yaml +163 -4
  130. package/dist/docs/blocks/nav-card.yaml +13 -11
  131. package/dist/docs/blocks/nav-sidebar.yaml +84 -0
  132. package/dist/docs/blocks/notification-list.yaml +18 -13
  133. package/dist/docs/blocks/onboard-stepper.yaml +111 -0
  134. package/dist/docs/blocks/oncology-pathway.yaml +227 -4
  135. package/dist/docs/blocks/overlay-confirmation-modal.yaml +60 -0
  136. package/dist/docs/blocks/overlay-dropdown-menu.yaml +72 -0
  137. package/dist/docs/blocks/pricing-card.yaml +20 -13
  138. package/dist/docs/blocks/processing-state.yaml +14 -11
  139. package/dist/docs/blocks/profile-card.yaml +16 -12
  140. package/dist/docs/blocks/saas-onboarding.yaml +222 -4
  141. package/dist/docs/blocks/settings-form.yaml +20 -11
  142. package/dist/docs/blocks/settings-panel.yaml +22 -22
  143. package/dist/docs/blocks/sidebar-nav.yaml +21 -15
  144. package/dist/docs/blocks/signup-form.yaml +17 -11
  145. package/dist/docs/blocks/stat-cards.yaml +12 -13
  146. package/dist/docs/blocks/status-card.yaml +20 -17
  147. package/dist/docs/blocks/suggested-labs.yaml +20 -13
  148. package/dist/docs/blocks/supply-chain.yaml +160 -4
  149. package/dist/docs/blocks/survey-card.yaml +21 -13
  150. package/dist/docs/blocks/tabbed-panel.yaml +21 -15
  151. package/dist/docs/blocks/team-empty.yaml +8 -9
  152. package/dist/docs/blocks/usage-billing.yaml +20 -16
  153. package/dist/docs/blocks/user-profile-card.yaml +52 -0
  154. package/dist/docs/blocks/user-team-list.yaml +116 -0
  155. package/dist/docs/components/agent-activity.yaml +27 -7
  156. package/dist/docs/components/agent-feed.yaml +2 -2
  157. package/dist/docs/components/agent-prompt.yaml +1 -1
  158. package/dist/docs/components/agent-seeds.yaml +1 -1
  159. package/dist/docs/components/breadcrumb.yaml +35 -8
  160. package/dist/docs/components/button.yaml +14 -2
  161. package/dist/docs/components/calendar-picker.yaml +3 -2
  162. package/dist/docs/components/chip.yaml +1 -1
  163. package/dist/docs/components/color-picker.yaml +33 -7
  164. package/dist/docs/components/color-slider.yaml +7 -7
  165. package/dist/docs/components/container.yaml +2 -1
  166. package/dist/docs/components/heading.yaml +4 -0
  167. package/dist/docs/components/index.yaml +11 -1
  168. package/dist/docs/components/input.yaml +10 -9
  169. package/dist/docs/components/meter.yaml +37 -14
  170. package/dist/docs/components/nav-item.yaml +7 -7
  171. package/dist/docs/components/stat.yaml +164 -0
  172. package/dist/docs/components/stepper.yaml +23 -23
  173. package/dist/docs/components/time-field.yaml +35 -2
  174. package/dist/element.js +1 -1
  175. package/dist/icons.js +137 -128
  176. package/dist/icons.js.map +1 -1
  177. package/dist/reactivity.js +1 -1
  178. package/dist/register.js +299 -297
  179. package/dist/register.js.map +1 -1
  180. package/dist/store.js +1 -1
  181. package/dist/traits.js +2 -2
  182. package/package.json +1 -1
  183. package/dist/chunks/meter-Dju8ik6C.js.map +0 -1
@@ -1,5 +1,5 @@
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";
1
+ import { A as d, l as J, u as N } from "./agent-XMhz_6OA.js";
2
+ import { o as Z, g as H } from "./registry-BNb5ABBs.js";
3
3
  class Mt extends d {
4
4
  static attributes = {
5
5
  disabled: { type: "boolean", default: !1 },
@@ -131,11 +131,11 @@ class Dt extends d {
131
131
  t ? this.insertBefore(this.#o, t) : this.appendChild(this.#o);
132
132
  } else
133
133
  this.#o = this.querySelector("[data-input-clear]");
134
- this.#o?.addEventListener("click", this.#k);
134
+ this.#o?.addEventListener("click", this.#C);
135
135
  }
136
136
  }
137
137
  dispose() {
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);
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.#C), this.#h && clearTimeout(this.#h);
139
139
  }
140
140
  // ── Public API ──────────────────────────────────────────
141
141
  focus(t) {
@@ -200,7 +200,7 @@ class Dt extends d {
200
200
  }
201
201
  // ── Event handlers ────────────────────────────────────
202
202
  #c = () => {
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();
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.#k();
204
204
  };
205
205
  #f = (t) => {
206
206
  if (this.type === "search" && t.key === "Escape") {
@@ -270,7 +270,7 @@ class Dt extends d {
270
270
  t.stopPropagation(), this.#y(-1);
271
271
  };
272
272
  // ── Search helpers ──────────────────────────────────────────
273
- #C() {
273
+ #k() {
274
274
  this.#h && clearTimeout(this.#h);
275
275
  const t = parseInt(this.debounce, 10) || 200;
276
276
  this.#h = setTimeout(() => {
@@ -284,7 +284,7 @@ class Dt extends d {
284
284
  detail: { value: this.value ?? "" }
285
285
  }));
286
286
  }
287
- #k = (t) => {
287
+ #C = (t) => {
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
  }
@@ -499,7 +499,7 @@ class qt extends d {
499
499
  (t.key === " " || t.key === "Enter") && (t.preventDefault(), this.#t());
500
500
  };
501
501
  }
502
- class Ft extends d {
502
+ class Ot extends d {
503
503
  static attributes = {
504
504
  disabled: { type: "boolean", default: !1 },
505
505
  name: { type: "string", default: "" },
@@ -551,7 +551,7 @@ class Ft extends d {
551
551
  s >= 0 && (e[s].click(), e[s].focus());
552
552
  };
553
553
  }
554
- class Rt extends d {
554
+ class Ft extends d {
555
555
  static formAssociated = !0;
556
556
  static attributes = {
557
557
  disabled: { type: "boolean", default: !1 },
@@ -621,7 +621,7 @@ class Rt extends d {
621
621
  t.target === this && this.#t?.focus();
622
622
  };
623
623
  }
624
- class Ot extends d {
624
+ class Rt extends d {
625
625
  static attributes = {
626
626
  bordered: { type: "boolean", default: !1 },
627
627
  elevation: { type: "string", default: "" },
@@ -702,7 +702,7 @@ function it(o) {
702
702
  const t = getComputedStyle(o).getPropertyValue("--aui-duration").trim();
703
703
  return parseFloat(t) || 200;
704
704
  }
705
- class zt extends d {
705
+ class Ht 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" },
@@ -754,8 +754,8 @@ class zt extends d {
754
754
  t.target === this.#e && this.hide();
755
755
  };
756
756
  }
757
- const H = /* @__PURE__ */ new Map();
758
- class Ht extends d {
757
+ const z = /* @__PURE__ */ new Map();
758
+ class zt extends d {
759
759
  static attributes = {
760
760
  name: { type: "string", default: "" },
761
761
  src: { type: "string", default: "" },
@@ -784,13 +784,13 @@ class Ht extends d {
784
784
  }
785
785
  #i = null;
786
786
  #s(t) {
787
- const e = z(t);
787
+ const e = H(t);
788
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;
789
+ !H(t) && !this.querySelector("svg") && console.warn(`[aui-icon] Icon "${t}" not found in registry. Register it with registerIcons({ ${t}: svgString }).`), this.#i = null;
790
790
  }, 2e3));
791
791
  }
792
792
  async #n(t) {
793
- const e = H.get(t);
793
+ const e = z.get(t);
794
794
  if (e) {
795
795
  this.#a(e);
796
796
  return;
@@ -800,7 +800,7 @@ class Ht extends d {
800
800
  if (!i.ok) return;
801
801
  const s = await i.text();
802
802
  if (!s.includes("<svg")) return;
803
- H.set(t, s), this.src === t && this.#a(s);
803
+ z.set(t, s), this.src === t && this.#a(s);
804
804
  } catch {
805
805
  }
806
806
  }
@@ -1071,7 +1071,7 @@ class _t extends d {
1071
1071
  activate() {
1072
1072
  switch (this.mode) {
1073
1073
  case "bar":
1074
- this.#z();
1074
+ this.#H();
1075
1075
  break;
1076
1076
  case "list":
1077
1077
  this.#ht();
@@ -1080,7 +1080,7 @@ class _t extends d {
1080
1080
  this.#pt();
1081
1081
  break;
1082
1082
  default:
1083
- this.#C();
1083
+ this.#k();
1084
1084
  break;
1085
1085
  }
1086
1086
  }
@@ -1096,7 +1096,7 @@ class _t extends d {
1096
1096
  this.#ft();
1097
1097
  break;
1098
1098
  default:
1099
- this.#k();
1099
+ this.#C();
1100
1100
  break;
1101
1101
  }
1102
1102
  }
@@ -1131,7 +1131,7 @@ class _t extends d {
1131
1131
  const e = this.options.find(
1132
1132
  (i) => (i.getAttribute("value") ?? i.textContent?.trim()) === t
1133
1133
  );
1134
- e && !e.hasAttribute("disabled") && this.#H(e);
1134
+ e && !e.hasAttribute("disabled") && this.#z(e);
1135
1135
  } else
1136
1136
  (this.#r ?? this.#v)?.selectValue?.(t);
1137
1137
  }
@@ -1177,7 +1177,7 @@ class _t extends d {
1177
1177
  // ════════════════════════════════════════════════════════════
1178
1178
  // MODE: Dropdown (default)
1179
1179
  // ════════════════════════════════════════════════════════════
1180
- #C() {
1180
+ #k() {
1181
1181
  const t = `select-${crypto.randomUUID().slice(0, 8)}`;
1182
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);
1183
1183
  const e = Array.from(this.children);
@@ -1198,7 +1198,7 @@ class _t extends d {
1198
1198
  })), this.#g();
1199
1199
  }
1200
1200
  };
1201
- #k() {
1201
+ #C() {
1202
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();
1203
1203
  }
1204
1204
  #x() {
@@ -1224,20 +1224,20 @@ class _t extends d {
1224
1224
  // ════════════════════════════════════════════════════════════
1225
1225
  // MODE: Bar (toolbar)
1226
1226
  // ════════════════════════════════════════════════════════════
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) => {
1227
+ #H() {
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.#O(), this.#d = new ResizeObserver(() => this.#F()), this.#d.observe(this), this.#u = new MutationObserver((t) => {
1229
1229
  for (const e of t)
1230
1230
  if (!this.#h?.contains(e.target)) {
1231
- this.#R();
1231
+ this.#F();
1232
1232
  return;
1233
1233
  }
1234
- }), this.#u.observe(this, { childList: !0, subtree: !0 }), this.#R();
1234
+ }), this.#u.observe(this, { childList: !0, subtree: !0 }), this.#F();
1235
1235
  }
1236
1236
  #q() {
1237
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.#_);
1238
1238
  }
1239
1239
  // ── Bar: Group dividers ───────────────────────────────
1240
- #F() {
1240
+ #O() {
1241
1241
  const t = Array.from(this.children);
1242
1242
  let e = !1;
1243
1243
  for (const i of t) {
@@ -1251,12 +1251,12 @@ class _t extends d {
1251
1251
  }
1252
1252
  }
1253
1253
  // ── Bar: Measurement ───────────────────────────────────
1254
- #R() {
1254
+ #F() {
1255
1255
  this.#c === null && (this.#c = requestAnimationFrame(() => {
1256
1256
  this.#c = null, this.#it();
1257
1257
  }));
1258
1258
  }
1259
- #O() {
1259
+ #R() {
1260
1260
  return Array.from(this.children).filter(
1261
1261
  (t) => t instanceof HTMLElement && !t.hasAttribute("data-overflow-trigger") && !t.hasAttribute("data-overflow-popover")
1262
1262
  );
@@ -1267,7 +1267,7 @@ class _t extends d {
1267
1267
  return;
1268
1268
  }
1269
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();
1270
+ const t = this.#R();
1271
1271
  if (t.length === 0) {
1272
1272
  this.#D();
1273
1273
  return;
@@ -1344,7 +1344,7 @@ class _t extends d {
1344
1344
  }
1345
1345
  // ── Bar: Overflow menu ─────────────────────────────────
1346
1346
  #nt() {
1347
- for (const t of this.#O())
1347
+ for (const t of this.#R())
1348
1348
  t.removeAttribute("data-select-overflow");
1349
1349
  this.removeAttribute("data-select-overflowing"), this.removeAttribute("data-select-measuring"), this.#N();
1350
1350
  }
@@ -1353,7 +1353,7 @@ class _t extends d {
1353
1353
  }
1354
1354
  #at() {
1355
1355
  if (this.#N(), !this.#l) return;
1356
- const t = this.#O();
1356
+ const t = this.#R();
1357
1357
  let e = 0;
1358
1358
  for (const i of t)
1359
1359
  if (i.hasAttribute("data-select-overflow")) {
@@ -1375,7 +1375,7 @@ class _t extends d {
1375
1375
  /** Flat list of overflowed source elements, in DOM order (for click dispatch). */
1376
1376
  #rt() {
1377
1377
  const t = [];
1378
- for (const e of this.#O())
1378
+ for (const e of this.#R())
1379
1379
  if (e.hasAttribute("data-select-overflow"))
1380
1380
  if (e.tagName === "AUI-OPTGROUP")
1381
1381
  for (const i of e.children)
@@ -1418,7 +1418,7 @@ class _t extends d {
1418
1418
  // ── Bar: Keyboard navigation ───────────────────────────
1419
1419
  #ot() {
1420
1420
  const t = [], e = this.hasAttribute("data-select-overflowing") ? rt : at;
1421
- for (const i of this.#O())
1421
+ for (const i of this.#R())
1422
1422
  if (!i.hasAttribute("data-select-overflow"))
1423
1423
  if (i.tagName === "AUI-OPTGROUP")
1424
1424
  for (const s of i.children)
@@ -1461,7 +1461,7 @@ class _t extends d {
1461
1461
  this.removeEventListener("click", this.#j), this.removeEventListener("keydown", this.#X), this.#b && clearTimeout(this.#b);
1462
1462
  }
1463
1463
  // ── List: Selection ────────────────────────────────────
1464
- #H(t) {
1464
+ #z(t) {
1465
1465
  if (!this.multiple)
1466
1466
  for (const i of this.options)
1467
1467
  i.removeAttribute("selected");
@@ -1509,7 +1509,7 @@ class _t extends d {
1509
1509
  #j = (t) => {
1510
1510
  const e = t.target.closest("aui-option");
1511
1511
  if (!e || e.hasAttribute("disabled")) return;
1512
- this.#H(e);
1512
+ this.#z(e);
1513
1513
  const i = this.enabledOptions.indexOf(e);
1514
1514
  i >= 0 && this.#S(i);
1515
1515
  };
@@ -1541,7 +1541,7 @@ class _t extends d {
1541
1541
  case " ": {
1542
1542
  t.preventDefault();
1543
1543
  const i = e[this.#f];
1544
- i && this.#H(i);
1544
+ i && this.#z(i);
1545
1545
  break;
1546
1546
  }
1547
1547
  default:
@@ -2257,17 +2257,17 @@ class le extends d {
2257
2257
  return this.direction === "vertical";
2258
2258
  }
2259
2259
  activate() {
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, {
2260
+ this.addEventListener("pointermove", this.#C), this.addEventListener("pointerleave", this.#x), this.addEventListener("pointerdown", this.#I, !0), this.#b(), this.#e = new MutationObserver(this.#F), this.#e.observe(this, {
2261
2261
  childList: !0,
2262
2262
  attributes: !0,
2263
2263
  attributeFilter: ["hidden", "minimized", "priority"],
2264
2264
  subtree: !0
2265
- }), this.#t = new ResizeObserver(this.#C), this.#t.observe(this), this.addEffect(() => {
2265
+ }), this.#t = new ResizeObserver(this.#k), this.#t.observe(this), this.addEffect(() => {
2266
2266
  this.direction, this.#b();
2267
2267
  });
2268
2268
  }
2269
2269
  dispose() {
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);
2270
+ this.#L(), this.#q(), this.#e?.disconnect(), this.#e = null, this.#t?.disconnect(), this.#t = null, this.removeEventListener("pointermove", this.#C), this.removeEventListener("pointerleave", this.#x), this.removeEventListener("pointerdown", this.#I, !0);
2271
2271
  }
2272
2272
  // ── Pane queries ──
2273
2273
  #u() {
@@ -2334,12 +2334,12 @@ class le extends d {
2334
2334
  const r = [];
2335
2335
  for (let b = t + 1; b < s.length; b++) r.push(b);
2336
2336
  const h = (b) => {
2337
- const A = [], E = [], k = [];
2337
+ const A = [], E = [], C = [];
2338
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);
2339
+ const R = this.#m(s[D]);
2340
+ R === w.High ? A.push(D) : R === w.Low ? C.push(D) : E.push(D);
2341
2341
  }
2342
- return [...A, ...E, ...k];
2342
+ return [...A, ...E, ...C];
2343
2343
  }, l = h(a), c = h(r);
2344
2344
  let u = 0, f = 0;
2345
2345
  for (const b of l)
@@ -2399,7 +2399,7 @@ class le extends d {
2399
2399
  }
2400
2400
  // ── Proportional container resize ──
2401
2401
  #g = 0;
2402
- #C = () => {
2402
+ #k = () => {
2403
2403
  if (this.#s >= 0) return;
2404
2404
  const t = this.#E();
2405
2405
  if (t <= 0) return;
@@ -2437,7 +2437,7 @@ class le extends d {
2437
2437
  return -1;
2438
2438
  }
2439
2439
  // ── Hover ──
2440
- #k = (t) => {
2440
+ #C = (t) => {
2441
2441
  if (this.#s >= 0) return;
2442
2442
  const e = this.#w(t.clientX, t.clientY), i = this.#u();
2443
2443
  if (e >= 0) {
@@ -2468,7 +2468,7 @@ class le extends d {
2468
2468
  return i ? a.height : a.width;
2469
2469
  }), this.#l = [...this.#n], this.setAttribute("data-panes-resizing", "");
2470
2470
  const s = i ? "bottom" : "right";
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);
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.#H);
2472
2472
  };
2473
2473
  #T = (t) => {
2474
2474
  if (this.#s < 0) return;
@@ -2493,7 +2493,7 @@ class le extends d {
2493
2493
  #M = () => {
2494
2494
  this.#s < 0 || (this.#l = [...this.#n], this.#p(), this.#q());
2495
2495
  };
2496
- #z = (t) => {
2496
+ #H = (t) => {
2497
2497
  t.key === "Escape" && this.#s >= 0 && (t.preventDefault(), this.#M());
2498
2498
  };
2499
2499
  #q() {
@@ -2504,11 +2504,11 @@ class le extends d {
2504
2504
  }
2505
2505
  this.#h = -1;
2506
2506
  }
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);
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.#H);
2508
2508
  }
2509
2509
  // ── Child mutation observer (debounced) ──
2510
- #F = 0;
2511
- #R = (t) => {
2510
+ #O = 0;
2511
+ #F = (t) => {
2512
2512
  let e = !1;
2513
2513
  for (const i of t) {
2514
2514
  const s = i.target;
@@ -2521,8 +2521,8 @@ class le extends d {
2521
2521
  break;
2522
2522
  }
2523
2523
  }
2524
- e && (this.#F || (this.#F = requestAnimationFrame(() => {
2525
- this.#F = 0, this.#b();
2524
+ e && (this.#O || (this.#O = requestAnimationFrame(() => {
2525
+ this.#O = 0, this.#b();
2526
2526
  })));
2527
2527
  };
2528
2528
  }
@@ -2827,7 +2827,7 @@ class ce extends d {
2827
2827
  };
2828
2828
  i.addEventListener("input", s);
2829
2829
  }
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));
2830
+ this.#l = document.createElement("aui-table-head"), this.appendChild(this.#l), this.#d = document.createElement("aui-table-body"), this.appendChild(this.#d), this.#k > 0 && (this.#u = document.createElement("div"), this.#u.setAttribute("data-table-footer", ""), this.appendChild(this.#u));
2831
2831
  }
2832
2832
  // ── Event delegation ───────────────────────────────────────
2833
2833
  #A = (t) => {
@@ -2868,7 +2868,7 @@ class ce extends d {
2868
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();
2869
2869
  }
2870
2870
  #g() {
2871
- const t = this.#k(this.#w()), e = t.length > 0 && t.every((i) => this.#r.has(this.#y(i)));
2871
+ const t = this.#C(this.#w()), e = t.length > 0 && t.every((i) => this.#r.has(this.#y(i)));
2872
2872
  for (const i of t) {
2873
2873
  const s = this.#y(i);
2874
2874
  e ? this.#r.delete(s) : this.#r.add(s);
@@ -2876,7 +2876,7 @@ class ce extends d {
2876
2876
  this.dispatchEvent(new CustomEvent("aui:selection-change", { bubbles: !0, detail: { selectedIds: [...this.#r] } })), this.#x();
2877
2877
  }
2878
2878
  // ── Derived data ───────────────────────────────────────────
2879
- get #C() {
2879
+ get #k() {
2880
2880
  return parseInt(this.paginate, 10) || 0;
2881
2881
  }
2882
2882
  #w() {
@@ -2897,8 +2897,8 @@ class ce extends d {
2897
2897
  }
2898
2898
  return t;
2899
2899
  }
2900
- #k(t) {
2901
- const e = this.#C;
2900
+ #C(t) {
2901
+ const e = this.#k;
2902
2902
  if (e <= 0) return t;
2903
2903
  const i = (this.#a - 1) * e;
2904
2904
  return t.slice(i, i + e);
@@ -2906,7 +2906,7 @@ class ce extends d {
2906
2906
  // ── Render (updates innerHTML of stable containers) ────────
2907
2907
  #x() {
2908
2908
  if (!this.#o || !this.#l || !this.#d) return;
2909
- const t = this.#w(), e = this.#k(t);
2909
+ const t = this.#w(), e = this.#C(t);
2910
2910
  this.#l.innerHTML = "";
2911
2911
  const i = document.createElement("aui-table-row");
2912
2912
  if (this.selectable) {
@@ -2940,7 +2940,7 @@ class ce extends d {
2940
2940
  }
2941
2941
  if (this.#u) {
2942
2942
  this.#u.innerHTML = "";
2943
- const s = this.#C, n = t.length, a = Math.max(1, Math.ceil(n / s));
2943
+ const s = this.#k, n = t.length, a = Math.max(1, Math.ceil(n / s));
2944
2944
  this.#a > a && (this.#a = a);
2945
2945
  const r = n === 0 ? 0 : (this.#a - 1) * s + 1, h = Math.min(this.#a * s, n), l = document.createElement("span");
2946
2946
  l.setAttribute("data-table-page-info", ""), l.textContent = `${r}–${h} of ${n}`, this.#u.appendChild(l);
@@ -3184,7 +3184,7 @@ class Ee extends d {
3184
3184
  };
3185
3185
  }
3186
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) {
3187
+ function O(o) {
3188
3188
  if (!o) return "";
3189
3189
  const [t, e, i] = o.split("-").map(Number);
3190
3190
  return !t || !e || !i ? o : `${["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][e - 1]} ${i}`;
@@ -3249,7 +3249,7 @@ class xe extends d {
3249
3249
  // Display
3250
3250
  // ════════════════════════════════════════════════════════════
3251
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", "")));
3252
+ this.#i && (this.start && this.end ? (this.#i.textContent = `${O(this.start)} — ${O(this.end)}`, this.#i.removeAttribute("data-placeholder")) : this.start ? (this.#i.textContent = `${O(this.start)} — ...`, this.#i.removeAttribute("data-placeholder")) : (this.#i.textContent = this.placeholder, this.#i.setAttribute("data-placeholder", "")));
3253
3253
  }
3254
3254
  // ════════════════════════════════════════════════════════════
3255
3255
  // Event handlers
@@ -3281,12 +3281,12 @@ class we extends d {
3281
3281
  this.setAttribute("role", "application");
3282
3282
  }
3283
3283
  }
3284
- class Ce extends d {
3284
+ class ke extends d {
3285
3285
  activate() {
3286
3286
  this.setAttribute("role", "main");
3287
3287
  }
3288
3288
  }
3289
- class ke extends d {
3289
+ class Ce extends d {
3290
3290
  }
3291
3291
  class Le extends d {
3292
3292
  activate() {
@@ -3447,7 +3447,7 @@ class qe extends d {
3447
3447
  });
3448
3448
  }
3449
3449
  }
3450
- class Fe extends d {
3450
+ class Oe extends d {
3451
3451
  static attributes = {
3452
3452
  removable: { type: "boolean", default: !1 }
3453
3453
  };
@@ -3466,7 +3466,7 @@ class Fe extends d {
3466
3466
  }), this.append(t), this.#e = t;
3467
3467
  }
3468
3468
  }
3469
- class Re extends d {
3469
+ class Fe extends d {
3470
3470
  static attributes = {
3471
3471
  summary: { type: "string", default: "" },
3472
3472
  open: { type: "boolean", default: !1 }
@@ -3504,7 +3504,7 @@ class Re extends d {
3504
3504
  s.setAttribute("data-disclosure-content", ""), s.appendChild(i), this.appendChild(e), this.appendChild(s);
3505
3505
  }
3506
3506
  }
3507
- class Oe extends d {
3507
+ class Re extends d {
3508
3508
  static attributes = {
3509
3509
  max: { type: "string", default: "" },
3510
3510
  size: { type: "string", default: "" }
@@ -3570,7 +3570,7 @@ class Ne extends d {
3570
3570
  this.#i.textContent = t, this.#i.style.display = t ? "" : "none";
3571
3571
  }
3572
3572
  }
3573
- class ze extends d {
3573
+ class He extends d {
3574
3574
  static attributes = {
3575
3575
  exclusive: { type: "boolean", default: !1 }
3576
3576
  };
@@ -3612,7 +3612,7 @@ class ze extends d {
3612
3612
  }).observe(this, { childList: !0 });
3613
3613
  }
3614
3614
  }
3615
- class He extends d {
3615
+ class ze extends d {
3616
3616
  static attributes = {
3617
3617
  label: { type: "string", default: "" },
3618
3618
  max: { type: "string", default: "" }
@@ -3708,13 +3708,13 @@ function vt(o, t, e) {
3708
3708
  function S(o) {
3709
3709
  return o <= 31308e-7 ? 12.92 * o : 1.055 * Math.pow(o, 1 / 2.4) - 0.055;
3710
3710
  }
3711
- function R(o) {
3711
+ function F(o) {
3712
3712
  return o <= 0.04045 ? o / 12.92 : Math.pow((o + 0.055) / 1.055, 2.4);
3713
3713
  }
3714
3714
  function T(o) {
3715
3715
  return Math.max(0, Math.min(1, o));
3716
3716
  }
3717
- function C(o, t, e, i = 1) {
3717
+ function k(o, t, e, i = 1) {
3718
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
3719
  let m = `#${p(c)}${p(u)}${p(f)}`;
3720
3720
  return i < 1 && (m += p(T(i))), m;
@@ -3722,7 +3722,7 @@ function C(o, t, e, i = 1) {
3722
3722
  function gt(o) {
3723
3723
  let t = 0, e = 0, i = 0, s = 1;
3724
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);
3725
+ const n = F(t), a = F(e), r = F(i), [h, l, c] = vt(n, a, r), [u, f, p] = mt(h, l, c);
3726
3726
  return {
3727
3727
  l: Math.round(u * 1e3) / 1e3,
3728
3728
  c: Math.round(f * 1e3) / 1e3,
@@ -3764,10 +3764,10 @@ class L extends d {
3764
3764
  }), new ResizeObserver(() => {
3765
3765
  const e = parseFloat(this.hue) || 0;
3766
3766
  this.#i(e);
3767
- }).observe(this), this.addEventListener("pointerdown", this.#s), this.#t.addEventListener("keydown", this.#o);
3767
+ }).observe(this), this.addEventListener("mousedown", this.#s), this.#t.addEventListener("keydown", this.#o);
3768
3768
  }
3769
3769
  dispose() {
3770
- this.removeEventListener("pointerdown", this.#s), this.#t?.removeEventListener("keydown", this.#o);
3770
+ this.removeEventListener("mousedown", this.#s), this.#t?.removeEventListener("keydown", this.#o);
3771
3771
  }
3772
3772
  // ── Canvas gradient rendering ─────────────────────────────
3773
3773
  #i(t) {
@@ -3786,26 +3786,27 @@ class L extends d {
3786
3786
  if (!V(p, v, t)) {
3787
3787
  let b = 0, A = v;
3788
3788
  for (let E = 0; E < 8; E++) {
3789
- const k = (b + A) / 2;
3790
- V(p, k, t) ? b = k : A = k;
3789
+ const C = (b + A) / 2;
3790
+ V(p, C, t) ? b = C : A = C;
3791
3791
  }
3792
3792
  v = b;
3793
3793
  }
3794
- const y = C(p, v, t);
3794
+ const y = k(p, v, t);
3795
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
3796
  }
3797
3797
  }
3798
3798
  l.putImageData(c, 0, 0);
3799
3799
  }
3800
- // ── Pointer interaction ───────────────────────────────
3800
+ // ── Mouse interaction (mousedown used instead of pointerdown
3801
+ // because pointerdown doesn't fire inside popover top-layer) ──
3801
3802
  #s = (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));
3803
+ this.disabled || (t.preventDefault(), this.setAttribute("data-color-area-pressed", ""), this.#r(t), this.#t?.focus(), document.addEventListener("mousemove", this.#n), document.addEventListener("mouseup", this.#a));
3803
3804
  };
3804
3805
  #n = (t) => {
3805
3806
  this.#r(t);
3806
3807
  };
3807
3808
  #a = (t) => {
3808
- this.removeAttribute("data-color-area-pressed"), this.removeEventListener("pointermove", this.#n), this.removeEventListener("pointerup", this.#a), this.#h();
3809
+ this.removeAttribute("data-color-area-pressed"), document.removeEventListener("mousemove", this.#n), document.removeEventListener("mouseup", this.#a), this.#h();
3809
3810
  };
3810
3811
  #r(t) {
3811
3812
  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;
@@ -3880,45 +3881,46 @@ class $e extends d {
3880
3881
  if (t === "hue") {
3881
3882
  const c = [];
3882
3883
  for (let u = 0; u <= 360; u += 30)
3883
- c.push(C(h, r, u) + ` ${(u / 360 * 100).toFixed(1)}%`);
3884
+ c.push(k(h, r, u) + ` ${(u / 360 * 100).toFixed(1)}%`);
3884
3885
  this.#e.style.background = `linear-gradient(to right, ${c.join(", ")})`;
3885
3886
  } else if (t === "chroma") {
3886
3887
  const c = [];
3887
3888
  for (let f = 0; f <= 10; f++) {
3888
3889
  const p = f / 10 * 0.4;
3889
- c.push(C(h, p, a) + ` ${(f / 10 * 100).toFixed(1)}%`);
3890
+ c.push(k(h, p, a) + ` ${(f / 10 * 100).toFixed(1)}%`);
3890
3891
  }
3891
3892
  this.#e.style.background = `linear-gradient(to right, ${c.join(", ")})`;
3892
3893
  } else if (t === "lightness") {
3893
3894
  const c = [];
3894
3895
  for (let f = 0; f <= 10; f++) {
3895
3896
  const p = f / 10;
3896
- c.push(C(p, r, a) + ` ${(f / 10 * 100).toFixed(1)}%`);
3897
+ c.push(k(p, r, a) + ` ${(f / 10 * 100).toFixed(1)}%`);
3897
3898
  }
3898
3899
  this.#e.style.background = `linear-gradient(to right, ${c.join(", ")})`;
3899
3900
  } else if (t === "alpha") {
3900
- const c = C(h, r, a);
3901
+ const c = k(h, r, a);
3901
3902
  this.#e.style.background = `linear-gradient(to right, transparent, ${c})`;
3902
3903
  } else
3903
3904
  this.#e.style.background = "";
3904
- }), this.addEventListener("pointerdown", this.#s), this.#t.addEventListener("keydown", this.#o);
3905
+ }), this.addEventListener("mousedown", this.#s), this.#t.addEventListener("keydown", this.#o);
3905
3906
  }
3906
3907
  dispose() {
3907
- this.removeEventListener("pointerdown", this.#s), this.#t?.removeEventListener("keydown", this.#o);
3908
+ this.removeEventListener("mousedown", this.#s), this.#t?.removeEventListener("keydown", this.#o);
3908
3909
  }
3909
3910
  #i() {
3910
3911
  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
3912
  return { min: i, max: s, step: e.step };
3912
3913
  }
3913
- // ── Pointer interaction ───────────────────────────────
3914
+ // ── Mouse interaction (mousedown used instead of pointerdown
3915
+ // because pointerdown doesn't fire inside popover top-layer) ──
3914
3916
  #s = (t) => {
3915
- this.disabled || (t.preventDefault(), this.setPointerCapture(t.pointerId), this.setAttribute("data-color-slider-pressed", ""), this.#r(t), this.#t?.focus(), this.addEventListener("pointermove", this.#n), this.addEventListener("pointerup", this.#a));
3917
+ this.disabled || (t.preventDefault(), this.setAttribute("data-color-slider-pressed", ""), this.#r(t), this.#t?.focus(), document.addEventListener("mousemove", this.#n), document.addEventListener("mouseup", this.#a));
3916
3918
  };
3917
3919
  #n = (t) => {
3918
3920
  this.#r(t);
3919
3921
  };
3920
3922
  #a = (t) => {
3921
- this.removeAttribute("data-color-slider-pressed"), this.removeEventListener("pointermove", this.#n), this.removeEventListener("pointerup", this.#a), this.#h();
3923
+ this.removeAttribute("data-color-slider-pressed"), document.removeEventListener("mousemove", this.#n), document.removeEventListener("mouseup", this.#a), this.#h();
3922
3924
  };
3923
3925
  #r(t) {
3924
3926
  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));
@@ -3968,38 +3970,84 @@ class Ue extends d {
3968
3970
  format: { type: "string", default: "hex" },
3969
3971
  disabled: { type: "boolean", default: !1 }
3970
3972
  };
3971
- #e = null;
3973
+ #e = "";
3972
3974
  #t = null;
3975
+ #i = null;
3976
+ #s = null;
3977
+ #n = null;
3978
+ #a = !1;
3973
3979
  activate() {
3974
- this.querySelector("[data-color-field-swatch]") ? this.#e = this.querySelector("[data-color-field-swatch]") : (this.#e = document.createElement("span"), this.#e.setAttribute("data-color-field-swatch", ""), this.prepend(this.#e)), this.querySelector("[data-color-field-input]") ? this.#t = this.querySelector("[data-color-field-input]") : (this.#t = document.createElement("span"), this.#t.setAttribute("data-color-field-input", ""), this.#t.setAttribute("contenteditable", "plaintext-only"), this.#t.setAttribute("spellcheck", "false"), this.#t.setAttribute("role", "textbox"), this.#t.setAttribute("aria-label", "Color value"), this.appendChild(this.#t)), this.addEffect(() => {
3980
+ this.#e = `--color-field-${crypto.randomUUID().slice(0, 8)}`, this.style.setProperty("--_anchor", this.#e), this.querySelector("[data-color-field-swatch]") ? this.#t = this.querySelector("[data-color-field-swatch]") : (this.#t = document.createElement("span"), this.#t.setAttribute("data-color-field-swatch", ""), this.#t.setAttribute("role", "button"), this.#t.setAttribute("tabindex", "-1"), this.#t.setAttribute("aria-label", "Pick color"), this.#t.style.cursor = "pointer", this.prepend(this.#t)), this.querySelector("[data-color-field-input]") ? this.#i = this.querySelector("[data-color-field-input]") : (this.#i = document.createElement("span"), this.#i.setAttribute("data-color-field-input", ""), this.#i.setAttribute("contenteditable", "plaintext-only"), this.#i.setAttribute("spellcheck", "false"), this.#i.setAttribute("role", "textbox"), this.#i.setAttribute("aria-label", "Color value"), this.appendChild(this.#i)), this.addEffect(() => {
3975
3981
  const t = this.value || "";
3976
- this.#e && this.#e.style.setProperty("--_swatch-color", t || "transparent"), this.#t && document.activeElement !== this.#t && (this.#t.textContent = t), t ? this.removeAttribute("data-color-field-empty") : this.setAttribute("data-color-field-empty", "");
3982
+ this.#t && this.#t.style.setProperty("--_swatch-color", t || "transparent"), this.#i && document.activeElement !== this.#i && (this.#i.textContent = t), t ? this.removeAttribute("data-color-field-empty") : this.setAttribute("data-color-field-empty", "");
3977
3983
  }), this.addEffect(() => {
3978
- this.#t && (this.disabled ? (this.#t.removeAttribute("contenteditable"), this.#t.setAttribute("aria-disabled", "true")) : (this.#t.setAttribute("contenteditable", "plaintext-only"), this.#t.removeAttribute("aria-disabled")));
3979
- }), this.#t.addEventListener("input", this.#i), this.#t.addEventListener("blur", this.#s), this.#t.addEventListener("keydown", this.#n);
3984
+ this.#i && (this.disabled ? (this.#i.removeAttribute("contenteditable"), this.#i.setAttribute("aria-disabled", "true")) : (this.#i.setAttribute("contenteditable", "plaintext-only"), this.#i.removeAttribute("aria-disabled")));
3985
+ }), this.#i.addEventListener("input", this.#r), this.#i.addEventListener("blur", this.#o), this.#i.addEventListener("keydown", this.#h), this.#t?.addEventListener("click", this.#d), document.addEventListener("pointerdown", this.#c), document.addEventListener("keydown", this.#f);
3980
3986
  }
3981
3987
  dispose() {
3982
- this.#t?.removeEventListener("input", this.#i), this.#t?.removeEventListener("blur", this.#s), this.#t?.removeEventListener("keydown", this.#n);
3988
+ this.#i?.removeEventListener("input", this.#r), this.#i?.removeEventListener("blur", this.#o), this.#i?.removeEventListener("keydown", this.#h), this.#t?.removeEventListener("click", this.#d), document.removeEventListener("pointerdown", this.#c), document.removeEventListener("keydown", this.#f), this.#s?.remove();
3983
3989
  }
3984
- #i = () => {
3985
- const t = this.#t?.textContent?.trim() || "";
3986
- this.#a(t) ? (this.removeAttribute("data-color-field-invalid"), this.#e && this.#e.style.setProperty("--_swatch-color", t)) : t && this.setAttribute("data-color-field-invalid", "");
3990
+ #r = () => {
3991
+ const t = this.#i?.textContent?.trim() || "";
3992
+ this.#b(t) ? (this.removeAttribute("data-color-field-invalid"), this.#t && this.#t.style.setProperty("--_swatch-color", t)) : t && this.setAttribute("data-color-field-invalid", "");
3987
3993
  };
3988
- #s = () => {
3989
- const t = this.#t?.textContent?.trim() || "";
3994
+ #o = () => {
3995
+ const t = this.#i?.textContent?.trim() || "";
3990
3996
  if (!t) {
3991
3997
  this.value = "", this.removeAttribute("data-color-field-invalid");
3992
3998
  return;
3993
3999
  }
3994
- this.#a(t) ? (this.value = t, this.removeAttribute("data-color-field-invalid"), this.dispatchEvent(new CustomEvent("change", {
4000
+ this.#b(t) ? (this.value = t, this.removeAttribute("data-color-field-invalid"), this.dispatchEvent(new CustomEvent("change", {
3995
4001
  bubbles: !0,
3996
4002
  detail: { value: this.value, format: this.format }
3997
4003
  }))) : this.setAttribute("data-color-field-invalid", "");
3998
4004
  };
3999
- #n = (t) => {
4000
- t.key === "Enter" && (t.preventDefault(), this.#t?.blur());
4005
+ #h = (t) => {
4006
+ t.key === "Enter" && (t.preventDefault(), this.#i?.blur());
4001
4007
  };
4002
- #a(t) {
4008
+ #l() {
4009
+ this.#s || (this.#s = document.createElement("aui-container"), this.#s.setAttribute("kind", "popover"), this.#s.setAttribute("popover", "manual"), this.#s.setAttribute("data-color-field-popover", ""), this.#n = document.createElement("aui-color-picker"), this.#n.setAttribute("alpha", ""), this.#s.appendChild(this.#n), this.appendChild(this.#s), this.#n.addEventListener("change", this.#u));
4010
+ }
4011
+ #d = (t) => {
4012
+ if (t.stopPropagation(), !this.disabled) {
4013
+ if (this.#a) {
4014
+ this.#m();
4015
+ return;
4016
+ }
4017
+ this.#l(), this.#n && this.value && this.#n.setAttribute("value", this.value);
4018
+ try {
4019
+ this.#s.showPopover();
4020
+ } catch {
4021
+ }
4022
+ this.#a = !0;
4023
+ }
4024
+ };
4025
+ #u = (t) => {
4026
+ t.stopPropagation();
4027
+ const e = t.detail?.value;
4028
+ e && (this.value = e, this.removeAttribute("data-color-field-invalid"), this.dispatchEvent(new CustomEvent("change", {
4029
+ bubbles: !0,
4030
+ detail: { value: this.value, format: this.format }
4031
+ })));
4032
+ };
4033
+ #c = (t) => {
4034
+ if (!this.#a) return;
4035
+ const e = t.target;
4036
+ this.#s?.contains(e) || this.contains(e) || this.#m();
4037
+ };
4038
+ #f = (t) => {
4039
+ this.#a && t.key === "Escape" && (t.preventDefault(), this.#m());
4040
+ };
4041
+ #m() {
4042
+ if (!(!this.#s || !this.#a)) {
4043
+ try {
4044
+ this.#s.hidePopover();
4045
+ } catch {
4046
+ }
4047
+ this.#a = !1;
4048
+ }
4049
+ }
4050
+ #b(t) {
4003
4051
  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);
4004
4052
  }
4005
4053
  }
@@ -4675,9 +4723,9 @@ class Ye extends d {
4675
4723
  };
4676
4724
  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
4725
  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);
4726
+ 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("density", "compact"), i.appendChild(this.#h), i.appendChild(this.#o);
4679
4727
  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(() => {
4728
+ 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("density", "compact"), 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
4729
  this.#a && (this.#a.style.display = this.alpha ? "" : "none");
4682
4730
  const a = [this.#t, this.#i, this.#s, this.#n];
4683
4731
  if (this.disabled) {
@@ -4689,7 +4737,7 @@ class Ye extends d {
4689
4737
  }
4690
4738
  }), this.addEffect(() => {
4691
4739
  this.#p || (this.#A(), this.#v());
4692
- }), this.#e.addEventListener("input", this.#g), this.#e.addEventListener("change", this.#C);
4740
+ }), this.#e.addEventListener("input", this.#g), this.#e.addEventListener("change", this.#k);
4693
4741
  const n = (a) => (r) => {
4694
4742
  const h = r;
4695
4743
  h.stopPropagation();
@@ -4733,11 +4781,11 @@ class Ye extends d {
4733
4781
  e(this.#t, t.hue), e(this.#i, t.chroma), e(this.#s, t.lightness), e(this.#n, String(this.#b));
4734
4782
  const i = this.#u.get("hue"), s = this.#u.get("chroma"), n = this.#u.get("lightness"), a = this.#u.get("alpha");
4735
4783
  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);
4784
+ const r = B(this.#c, this.#f, this.#m, this.#b < 1 ? this.#b : void 0), h = k(this.#c, this.#f, this.#m, this.#b);
4737
4785
  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);
4738
4786
  }
4739
4787
  #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;
4788
+ this.#p = !0, this.format === "hex" ? this.value = k(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;
4741
4789
  }
4742
4790
  #E() {
4743
4791
  this.dispatchEvent(new CustomEvent("change", {
@@ -4756,7 +4804,7 @@ class Ye extends d {
4756
4804
  #g = (t) => {
4757
4805
  t.stopPropagation(), this.#c = t.detail.l, this.#f = t.detail.c, this.#y();
4758
4806
  };
4759
- #C = (t) => {
4807
+ #k = (t) => {
4760
4808
  t.stopPropagation(), this.#c = t.detail.l, this.#f = t.detail.c, this.#y(), this.#E();
4761
4809
  };
4762
4810
  }
@@ -4766,7 +4814,7 @@ function wt(o) {
4766
4814
  const e = parseFloat(t[1]), i = t[2].toUpperCase();
4767
4815
  return i === "KB" ? e * 1024 : i === "MB" ? e * 1024 * 1024 : i === "GB" ? e * 1024 * 1024 * 1024 : 1 / 0;
4768
4816
  }
4769
- function Ct(o) {
4817
+ function kt(o) {
4770
4818
  return o < 1024 ? `${o} B` : o < 1024 * 1024 ? `${(o / 1024).toFixed(1)} KB` : `${(o / (1024 * 1024)).toFixed(1)} MB`;
4771
4819
  }
4772
4820
  class je extends d {
@@ -4845,7 +4893,7 @@ class je extends d {
4845
4893
  const s = document.createElement("span");
4846
4894
  s.setAttribute("data-file-upload-name", ""), s.textContent = e.name, i.appendChild(s);
4847
4895
  const n = document.createElement("span");
4848
- n.setAttribute("data-file-upload-size", ""), n.textContent = Ct(e.size), i.appendChild(n);
4896
+ n.setAttribute("data-file-upload-size", ""), n.textContent = kt(e.size), i.appendChild(n);
4849
4897
  const a = document.createElement("button");
4850
4898
  a.setAttribute("data-file-upload-remove", ""), a.setAttribute("aria-label", `Remove ${e.name}`), a.innerHTML = '<aui-icon name="x" size="xs"></aui-icon>';
4851
4899
  const r = t;
@@ -5137,7 +5185,7 @@ class Ze extends d {
5137
5185
  t.key === "ArrowLeft" ? (t.preventDefault(), this.#c(this.#r - 1)) : t.key === "ArrowRight" && (t.preventDefault(), this.#c(this.#r + 1));
5138
5186
  };
5139
5187
  }
5140
- let kt = 0;
5188
+ let Ct = 0;
5141
5189
  class Qe extends d {
5142
5190
  static attributes = {
5143
5191
  max: { type: "string", default: "50" }
@@ -5157,7 +5205,7 @@ class Qe extends d {
5157
5205
  }
5158
5206
  // ── Public API ──────────────────────────────────────────────
5159
5207
  add(t) {
5160
- const e = `notif-${++kt}`, i = {
5208
+ const e = `notif-${++Ct}`, i = {
5161
5209
  id: e,
5162
5210
  title: t.title,
5163
5211
  message: t.message,
@@ -5307,67 +5355,233 @@ class ei extends d {
5307
5355
  });
5308
5356
  }
5309
5357
  }
5358
+ class ii extends d {
5359
+ static attributes = {
5360
+ disabled: { type: "boolean", default: !1 },
5361
+ required: { type: "boolean", default: !1 },
5362
+ name: { type: "string", default: "" },
5363
+ value: { type: "string", default: "" },
5364
+ label: { type: "string", default: "" },
5365
+ min: { type: "number", default: 0 },
5366
+ max: { type: "number", default: 0 }
5367
+ };
5368
+ activate() {
5369
+ this.setAttribute("role", "group"), this.addEffect(() => {
5370
+ for (const t of this.#e())
5371
+ this.name && t.setAttribute("name", this.name), this.disabled && t.setAttribute("disabled", "");
5372
+ }), this.addEffect(() => {
5373
+ const t = this.#t(this.value);
5374
+ for (const e of this.#e()) {
5375
+ const i = e.getAttribute("value") || "", s = t.includes(i);
5376
+ s && !e.hasAttribute("checked") ? e.setAttribute("checked", "") : !s && e.hasAttribute("checked") && e.removeAttribute("checked");
5377
+ }
5378
+ }), this.addEffect(() => {
5379
+ if (this.disabled) return;
5380
+ const t = this.max;
5381
+ if (!t) {
5382
+ for (const s of this.#e())
5383
+ s.hasAttribute("data-checkbox-group-disabled") && (s.removeAttribute("disabled"), s.removeAttribute("data-checkbox-group-disabled"));
5384
+ return;
5385
+ }
5386
+ const i = this.#t(this.value).length >= t;
5387
+ for (const s of this.#e()) {
5388
+ const n = s.hasAttribute("checked");
5389
+ i && !n ? (s.setAttribute("disabled", ""), s.setAttribute("data-checkbox-group-disabled", "")) : s.hasAttribute("data-checkbox-group-disabled") && (s.removeAttribute("disabled"), s.removeAttribute("data-checkbox-group-disabled"));
5390
+ }
5391
+ }), this.addEffect(() => {
5392
+ this.label ? this.setAttribute("aria-label", this.label) : this.removeAttribute("aria-label");
5393
+ }), this.addEventListener("change", this.#i);
5394
+ }
5395
+ dispose() {
5396
+ this.removeEventListener("change", this.#i);
5397
+ }
5398
+ #e() {
5399
+ return Array.from(this.querySelectorAll("aui-checkbox"));
5400
+ }
5401
+ #t(t) {
5402
+ return t ? t.split(",").map((e) => e.trim()).filter(Boolean) : [];
5403
+ }
5404
+ #i = (t) => {
5405
+ if (t.target.tagName !== "AUI-CHECKBOX") return;
5406
+ t.stopPropagation();
5407
+ const i = [];
5408
+ for (const s of this.#e())
5409
+ s.hasAttribute("checked") && i.push(s.getAttribute("value") || "");
5410
+ this.value = i.join(","), this.dispatchEvent(new CustomEvent("change", {
5411
+ bubbles: !0,
5412
+ detail: { values: i }
5413
+ }));
5414
+ };
5415
+ }
5416
+ class si extends d {
5417
+ static attributes = {
5418
+ action: { type: "string", default: "" },
5419
+ method: { type: "string", default: "post" },
5420
+ "no-validate": { type: "boolean", default: !1 }
5421
+ };
5422
+ get noValidate() {
5423
+ return this.hasAttribute("no-validate");
5424
+ }
5425
+ activate() {
5426
+ this.addEventListener("click", this.#e);
5427
+ }
5428
+ dispose() {
5429
+ this.removeEventListener("click", this.#e);
5430
+ }
5431
+ #e = (t) => {
5432
+ const e = t.target?.closest?.(
5433
+ '[type="submit"], [data-submit]'
5434
+ );
5435
+ !e || !this.contains(e) || (t.preventDefault(), this.submit());
5436
+ };
5437
+ /** Programmatic submit — runs validation then dispatches. */
5438
+ submit() {
5439
+ if (!this.noValidate) {
5440
+ const e = this.#t();
5441
+ if (e.length > 0) {
5442
+ this.dispatchEvent(new CustomEvent("invalid", {
5443
+ bubbles: !0,
5444
+ detail: { errors: e }
5445
+ }));
5446
+ return;
5447
+ }
5448
+ }
5449
+ const t = this.#s();
5450
+ this.dispatchEvent(new CustomEvent("submit", {
5451
+ bubbles: !0,
5452
+ detail: { data: t }
5453
+ }));
5454
+ }
5455
+ /** Validate all required fields. Returns array of error objects. */
5456
+ #t() {
5457
+ const t = [], e = this.querySelectorAll("aui-field[required]");
5458
+ for (const s of e)
5459
+ if (this.#i(s))
5460
+ s.hasAttribute("error") && s.removeAttribute("error");
5461
+ else {
5462
+ const r = `${s.getAttribute("label") || "This field"} is required`;
5463
+ s.setAttribute("error", r), t.push({ field: s, message: r });
5464
+ }
5465
+ const i = this.querySelectorAll("aui-field[error]");
5466
+ for (const s of i) {
5467
+ if (t.some((a) => a.field === s)) continue;
5468
+ const n = s.getAttribute("error") || "Invalid";
5469
+ t.push({ field: s, message: n });
5470
+ }
5471
+ return t;
5472
+ }
5473
+ /** Check whether a field's input child has a value. */
5474
+ #i(t) {
5475
+ const e = t.querySelector(
5476
+ "aui-input, aui-textarea, aui-select, aui-checkbox, aui-radio-group, aui-checkbox-group"
5477
+ );
5478
+ if (!e) return !1;
5479
+ const i = e.tagName;
5480
+ if (i === "AUI-CHECKBOX")
5481
+ return e.hasAttribute("checked");
5482
+ if (i === "AUI-CHECKBOX-GROUP" || i === "AUI-RADIO-GROUP")
5483
+ return !!e.getAttribute("value");
5484
+ const s = e.value ?? e.getAttribute("value") ?? "";
5485
+ return String(s).trim() !== "";
5486
+ }
5487
+ /** Collect form data from all named inputs within the form. */
5488
+ #s() {
5489
+ const t = {}, e = this.querySelectorAll(
5490
+ "aui-input[name], aui-textarea[name], aui-select[name], aui-checkbox[name], aui-radio-group[name], aui-checkbox-group[name], aui-range[name], aui-switch[name]"
5491
+ );
5492
+ for (const i of e) {
5493
+ const s = i.getAttribute("name");
5494
+ if (!s) continue;
5495
+ const n = i.tagName;
5496
+ if (n === "AUI-CHECKBOX") {
5497
+ if (i.hasAttribute("checked")) {
5498
+ const r = i.getAttribute("value") || "on";
5499
+ if (s in t) {
5500
+ const h = t[s];
5501
+ Array.isArray(h) ? h.push(r) : t[s] = [h, r];
5502
+ } else
5503
+ t[s] = r;
5504
+ }
5505
+ continue;
5506
+ }
5507
+ if (n === "AUI-SWITCH") {
5508
+ t[s] = i.hasAttribute("checked") ? "on" : "";
5509
+ continue;
5510
+ }
5511
+ if (n === "AUI-CHECKBOX-GROUP") {
5512
+ const r = i.getAttribute("value") || "";
5513
+ t[s] = r ? r.split(",").map((h) => h.trim()) : [];
5514
+ continue;
5515
+ }
5516
+ const a = i.value ?? i.getAttribute("value") ?? "";
5517
+ t[s] = String(a);
5518
+ }
5519
+ return t;
5520
+ }
5521
+ }
5310
5522
  export {
5311
- qt as $,
5523
+ Te as $,
5312
5524
  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,
5525
+ Ve as B,
5526
+ Nt as C,
5527
+ Fe as D,
5528
+ He as E,
5529
+ Ht as F,
5530
+ _e as G,
5531
+ ti as H,
5532
+ Ae as I,
5533
+ je as J,
5534
+ si as K,
5535
+ Bt as L,
5536
+ Ge as M,
5537
+ zt as N,
5538
+ Je as O,
5539
+ Dt as P,
5540
+ It as Q,
5541
+ ei as R,
5542
+ Qe as S,
5543
+ Kt as T,
5544
+ Vt as U,
5333
5545
  ke as V,
5334
- ie as W,
5335
- de as X,
5336
- le as Y,
5337
- Te as Z,
5338
- Ne as _,
5546
+ Le as W,
5547
+ Ce as X,
5548
+ ie as Y,
5549
+ de as Z,
5550
+ le as _,
5339
5551
  Jt as a,
5340
- Ft as a0,
5341
- Ut as a1,
5342
- ye as a2,
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,
5362
- He as am,
5363
- Rt as an,
5364
- Be as ao,
5365
- Gt as ap,
5366
- $t as aq,
5367
- ve as ar,
5368
- ge as as,
5552
+ Ne as a0,
5553
+ qt as a1,
5554
+ Ot as a2,
5555
+ Ut as a3,
5556
+ ye as a4,
5557
+ ee as a5,
5558
+ te as a6,
5559
+ _t as a7,
5560
+ Se as a8,
5561
+ De as a9,
5562
+ Ie as aa,
5563
+ Me as ab,
5564
+ qe as ac,
5565
+ We as ad,
5566
+ Pt as ae,
5567
+ jt as af,
5568
+ Xt as ag,
5569
+ ce as ah,
5570
+ ue as ai,
5571
+ pe as aj,
5572
+ fe as ak,
5573
+ be as al,
5574
+ me as am,
5575
+ Yt as an,
5576
+ ze as ao,
5577
+ Ft as ap,
5578
+ Be as aq,
5579
+ Gt as ar,
5580
+ $t as as,
5581
+ ve as at,
5582
+ ge as au,
5369
5583
  we as b,
5370
- Oe as c,
5584
+ Re as c,
5371
5585
  Zt as d,
5372
5586
  Qt as e,
5373
5587
  Mt as f,
@@ -5375,21 +5589,21 @@ export {
5375
5589
  xe as h,
5376
5590
  Ze as i,
5377
5591
  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
5592
+ ii as k,
5593
+ Oe as l,
5594
+ Pe as m,
5595
+ L as n,
5596
+ Ue as o,
5597
+ Ye as p,
5598
+ $e as q,
5599
+ se as r,
5600
+ ne as s,
5601
+ ae as t,
5602
+ re as u,
5603
+ oe as v,
5604
+ he as w,
5605
+ Rt as x,
5606
+ Ke as y,
5607
+ Xe as z
5394
5608
  };
5395
- //# sourceMappingURL=meter-Dju8ik6C.js.map
5609
+ //# sourceMappingURL=form-oekEhwja.js.map