@openvoxproject/voxblocks 0.10.0 → 0.11.0

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 (34) hide show
  1. package/dist/cdn/voxblocks.css +1 -1
  2. package/dist/cdn/voxblocks.js +1179 -1075
  3. package/dist/types/components/accordion/vox-accordion.d.ts +2 -0
  4. package/dist/types/components/disclosure/vox-disclosure.d.ts +2 -0
  5. package/dist/types/components/dropdown/vox-dropdown.d.ts +3 -0
  6. package/dist/types/components/header/vox-header.d.ts +2 -0
  7. package/dist/types/components/pagination/vox-pagination.d.ts +6 -4
  8. package/dist/types/components/sidenav/vox-sidenav.d.ts +4 -0
  9. package/dist/types/internal/field.d.ts +4 -0
  10. package/dist/voxblocks.css +1 -1
  11. package/dist/voxblocks.js +1000 -896
  12. package/package.json +1 -1
  13. package/src/components/accordion/vox-accordion.ts +6 -1
  14. package/src/components/alert/vox-alert.ts +5 -1
  15. package/src/components/avatar/vox-avatar.ts +9 -2
  16. package/src/components/card/vox-card.ts +1 -1
  17. package/src/components/checkbox/vox-checkbox.ts +4 -3
  18. package/src/components/dialog/vox-dialog.ts +2 -2
  19. package/src/components/disclosure/vox-disclosure.ts +6 -1
  20. package/src/components/dropdown/vox-dropdown.ts +32 -8
  21. package/src/components/empty-state/vox-empty-state.ts +1 -1
  22. package/src/components/file-input/vox-file-input.ts +4 -1
  23. package/src/components/header/vox-header.ts +10 -0
  24. package/src/components/input/vox-input.ts +2 -0
  25. package/src/components/link-hub/vox-link-hub.ts +1 -1
  26. package/src/components/pagination/vox-pagination.ts +9 -6
  27. package/src/components/radio/vox-radio-group.ts +17 -6
  28. package/src/components/select/vox-select.ts +3 -0
  29. package/src/components/sidenav/vox-sidenav.ts +16 -1
  30. package/src/components/step-indicator/vox-step-indicator.ts +16 -2
  31. package/src/components/tabs/vox-tabs.ts +26 -2
  32. package/src/components/textarea/vox-textarea.ts +2 -0
  33. package/src/internal/field.ts +20 -2
  34. package/src/tokens/tokens.css +7 -7
package/dist/voxblocks.js CHANGED
@@ -1,40 +1,40 @@
1
- import { css as d, LitElement as v, html as c, svg as l, nothing as h } from "lit";
2
- import { property as n, customElement as p, state as Le, query as Ze } from "lit/decorators.js";
3
- import { classMap as mo } from "lit/directives/class-map.js";
4
- import { ifDefined as P } from "lit/directives/if-defined.js";
5
- import { live as po } from "lit/directives/live.js";
6
- var yo = Object.defineProperty, wo = Object.getOwnPropertyDescriptor, O = (t, o, a, r) => {
7
- for (var e = r > 1 ? void 0 : r ? wo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
8
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
9
- return r && e && yo(o, a, e), e;
1
+ import { css as d, LitElement as h, html as c, svg as l, nothing as v } from "lit";
2
+ import { property as n, customElement as p, state as le, query as Ze } from "lit/decorators.js";
3
+ import { classMap as bt } from "lit/directives/class-map.js";
4
+ import { ifDefined as u } from "lit/directives/if-defined.js";
5
+ import { live as dt } from "lit/directives/live.js";
6
+ var mt = Object.defineProperty, yt = Object.getOwnPropertyDescriptor, V = (o, t, a, r) => {
7
+ for (var e = r > 1 ? void 0 : r ? yt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
8
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
9
+ return r && e && mt(t, a, e), e;
10
10
  };
11
- let f = class extends v {
11
+ let g = class extends h {
12
12
  constructor() {
13
13
  super(...arguments), this.variant = "brand", this.size = "md", this.type = "button", this.disabled = !1;
14
14
  }
15
15
  render() {
16
- const t = mo({
16
+ const o = bt({
17
17
  button: !0,
18
18
  [this.variant]: !0,
19
19
  [this.size]: !0
20
20
  });
21
21
  return this.href !== void 0 && !this.disabled ? c`
22
22
  <a
23
- class=${t}
23
+ class=${o}
24
24
  href=${this.href}
25
- target=${P(this.target)}
26
- rel=${P(this.target === "_blank" ? "noreferrer" : void 0)}
25
+ target=${u(this.target)}
26
+ rel=${u(this.target === "_blank" ? "noreferrer" : void 0)}
27
27
  >
28
28
  <slot></slot>
29
29
  </a>
30
30
  ` : c`
31
- <button class=${t} type=${this.type} ?disabled=${this.disabled}>
31
+ <button class=${o} type=${this.type} ?disabled=${this.disabled}>
32
32
  <slot></slot>
33
33
  </button>
34
34
  `;
35
35
  }
36
36
  };
37
- f.styles = d`
37
+ g.styles = d`
38
38
  :host {
39
39
  display: inline-block;
40
40
  }
@@ -142,33 +142,33 @@ f.styles = d`
142
142
  border-radius: 0 var(--vox-radius-md) var(--vox-radius-md) 0;
143
143
  }
144
144
  `;
145
- O([
145
+ V([
146
146
  n()
147
- ], f.prototype, "variant", 2);
148
- O([
147
+ ], g.prototype, "variant", 2);
148
+ V([
149
149
  n()
150
- ], f.prototype, "size", 2);
151
- O([
150
+ ], g.prototype, "size", 2);
151
+ V([
152
152
  n()
153
- ], f.prototype, "href", 2);
154
- O([
153
+ ], g.prototype, "href", 2);
154
+ V([
155
155
  n()
156
- ], f.prototype, "target", 2);
157
- O([
156
+ ], g.prototype, "target", 2);
157
+ V([
158
158
  n()
159
- ], f.prototype, "type", 2);
160
- O([
159
+ ], g.prototype, "type", 2);
160
+ V([
161
161
  n({ type: Boolean, reflect: !0 })
162
- ], f.prototype, "disabled", 2);
163
- f = O([
162
+ ], g.prototype, "disabled", 2);
163
+ g = V([
164
164
  p("vox-button")
165
- ], f);
166
- var $o = Object.defineProperty, _o = Object.getOwnPropertyDescriptor, Ke = (t, o, a, r) => {
167
- for (var e = r > 1 ? void 0 : r ? _o(o, a) : o, s = t.length - 1, i; s >= 0; s--)
168
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
169
- return r && e && $o(o, a, e), e;
165
+ ], g);
166
+ var wt = Object.defineProperty, $t = Object.getOwnPropertyDescriptor, Ue = (o, t, a, r) => {
167
+ for (var e = r > 1 ? void 0 : r ? $t(t, a) : t, s = o.length - 1, i; s >= 0; s--)
168
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
169
+ return r && e && wt(t, a, e), e;
170
170
  };
171
- let N = class extends v {
171
+ let R = class extends h {
172
172
  constructor() {
173
173
  super(...arguments), this.href = "#";
174
174
  }
@@ -184,7 +184,7 @@ let N = class extends v {
184
184
  `;
185
185
  }
186
186
  };
187
- N.styles = d`
187
+ R.styles = d`
188
188
  :host {
189
189
  display: inline-block;
190
190
  font-family: var(--vox-font-family-base);
@@ -221,60 +221,60 @@ N.styles = d`
221
221
  transform: translateX(3px);
222
222
  }
223
223
  `;
224
- Ke([
224
+ Ue([
225
225
  n()
226
- ], N.prototype, "href", 2);
227
- Ke([
226
+ ], R.prototype, "href", 2);
227
+ Ue([
228
228
  n()
229
- ], N.prototype, "target", 2);
230
- N = Ke([
229
+ ], R.prototype, "target", 2);
230
+ R = Ue([
231
231
  p("vox-cta")
232
- ], N);
233
- var Co = Object.defineProperty, Mo = Object.getOwnPropertyDescriptor, Pe = (t, o, a, r) => {
234
- for (var e = r > 1 ? void 0 : r ? Mo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
235
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
236
- return r && e && Co(o, a, e), e;
232
+ ], R);
233
+ var _t = Object.defineProperty, Ct = Object.getOwnPropertyDescriptor, Pe = (o, t, a, r) => {
234
+ for (var e = r > 1 ? void 0 : r ? Ct(t, a) : t, s = o.length - 1, i; s >= 0; s--)
235
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
236
+ return r && e && _t(t, a, e), e;
237
237
  };
238
- const co = "vox-theme", ge = "data-vox-theme";
239
- let V = class extends v {
238
+ const ct = "vox-theme", be = "data-vox-theme";
239
+ let z = class extends h {
240
240
  constructor() {
241
- super(...arguments), this.lightLabel = "Switch to dark theme", this.darkLabel = "Switch to light theme", this.dark = !1, this.media = window.matchMedia("(prefers-color-scheme: dark)"), this.handleSystemChange = (t) => {
242
- localStorage.getItem(co) || document.documentElement.setAttribute(ge, t.matches ? "dark" : "light");
241
+ super(...arguments), this.lightLabel = "Switch to dark theme", this.darkLabel = "Switch to light theme", this.dark = !1, this.media = window.matchMedia("(prefers-color-scheme: dark)"), this.handleSystemChange = (o) => {
242
+ localStorage.getItem(ct) || document.documentElement.setAttribute(be, o.matches ? "dark" : "light");
243
243
  };
244
244
  }
245
245
  connectedCallback() {
246
246
  super.connectedCallback(), this.syncFromDocument(), this.observer = new MutationObserver(() => this.syncFromDocument()), this.observer.observe(document.documentElement, {
247
247
  attributes: !0,
248
- attributeFilter: [ge]
248
+ attributeFilter: [be]
249
249
  }), this.media.addEventListener("change", this.handleSystemChange);
250
250
  }
251
251
  disconnectedCallback() {
252
- var t;
253
- super.disconnectedCallback(), (t = this.observer) == null || t.disconnect(), this.media.removeEventListener("change", this.handleSystemChange);
252
+ var o;
253
+ super.disconnectedCallback(), (o = this.observer) == null || o.disconnect(), this.media.removeEventListener("change", this.handleSystemChange);
254
254
  }
255
255
  syncFromDocument() {
256
- const t = document.documentElement.getAttribute(ge) === "dark";
257
- this.dark = t, this.toggleAttribute("dark", t);
256
+ const o = document.documentElement.getAttribute(be) === "dark";
257
+ this.dark = o, this.toggleAttribute("dark", o);
258
258
  }
259
259
  handleClick() {
260
- const t = this.dark ? "light" : "dark";
261
- document.documentElement.setAttribute(ge, t), localStorage.setItem(co, t), this.dispatchEvent(
260
+ const o = this.dark ? "light" : "dark";
261
+ document.documentElement.setAttribute(be, o), localStorage.setItem(ct, o), this.dispatchEvent(
262
262
  new CustomEvent("vox-theme-change", {
263
- detail: { theme: t },
263
+ detail: { theme: o },
264
264
  bubbles: !0,
265
265
  composed: !0
266
266
  })
267
267
  );
268
268
  }
269
269
  render() {
270
- const t = this.dark ? this.darkLabel : this.lightLabel;
270
+ const o = this.dark ? this.darkLabel : this.lightLabel;
271
271
  return c`
272
272
  <button
273
273
  type="button"
274
274
  role="switch"
275
275
  aria-checked=${this.dark}
276
- aria-label=${t}
277
- title=${t}
276
+ aria-label=${o}
277
+ title=${o}
278
278
  @click=${this.handleClick}
279
279
  >
280
280
  <span class="track">
@@ -291,7 +291,7 @@ let V = class extends v {
291
291
  `;
292
292
  }
293
293
  };
294
- V.styles = d`
294
+ z.styles = d`
295
295
  :host {
296
296
  display: inline-flex;
297
297
  }
@@ -352,17 +352,17 @@ V.styles = d`
352
352
  `;
353
353
  Pe([
354
354
  n({ attribute: "light-label" })
355
- ], V.prototype, "lightLabel", 2);
355
+ ], z.prototype, "lightLabel", 2);
356
356
  Pe([
357
357
  n({ attribute: "dark-label" })
358
- ], V.prototype, "darkLabel", 2);
358
+ ], z.prototype, "darkLabel", 2);
359
359
  Pe([
360
- Le()
361
- ], V.prototype, "dark", 2);
362
- V = Pe([
360
+ le()
361
+ ], z.prototype, "dark", 2);
362
+ z = Pe([
363
363
  p("vox-theme-toggle")
364
- ], V);
365
- const m = {
364
+ ], z);
365
+ const y = {
366
366
  // Phase 1: shared UI baseline -----------------------------------------
367
367
  search: l`<circle cx="21" cy="21" r="13"/><path d="M30.5 30.5 L41 41"/>`,
368
368
  close: l`<path d="M14 14 L34 34 M34 14 L14 34"/>`,
@@ -450,18 +450,18 @@ const m = {
450
450
  accessibility: l`<circle cx="24" cy="24" r="18"/><circle cx="24" cy="16" r="2.6" fill="currentColor" stroke="none"/><path d="M14 21 H34 M24 21 V32 M24 25 L18 34 M24 25 L30 34"/>`,
451
451
  settings: l`<circle cx="24" cy="24" r="7"/><path d="M24 6 V12 M24 36 V42 M6 24 H12 M36 24 H42 M11 11 L15.2 15.2 M32.8 32.8 L37 37 M37 11 L32.8 15.2 M15.2 32.8 L11 37"/>`
452
452
  };
453
- var Oo = Object.defineProperty, ko = Object.getOwnPropertyDescriptor, Ve = (t, o, a, r) => {
454
- for (var e = r > 1 ? void 0 : r ? ko(o, a) : o, s = t.length - 1, i; s >= 0; s--)
455
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
456
- return r && e && Oo(o, a, e), e;
453
+ var Ot = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, Ve = (o, t, a, r) => {
454
+ for (var e = r > 1 ? void 0 : r ? Mt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
455
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
456
+ return r && e && Ot(t, a, e), e;
457
457
  };
458
- let j = class extends v {
458
+ let E = class extends h {
459
459
  constructor() {
460
460
  super(...arguments), this.name = "info", this.size = "md";
461
461
  }
462
462
  render() {
463
- const t = m[this.name];
464
- return t ? c`
463
+ const o = y[this.name];
464
+ return o ? c`
465
465
  <svg
466
466
  viewBox="0 0 48 48"
467
467
  fill="none"
@@ -469,16 +469,16 @@ let j = class extends v {
469
469
  stroke-width="2"
470
470
  stroke-linecap="round"
471
471
  stroke-linejoin="round"
472
- role=${this.label ? "img" : h}
473
- aria-hidden=${this.label ? h : "true"}
474
- aria-label=${this.label ?? h}
472
+ role=${this.label ? "img" : v}
473
+ aria-hidden=${this.label ? v : "true"}
474
+ aria-label=${this.label ?? v}
475
475
  >
476
- ${t}
476
+ ${o}
477
477
  </svg>
478
- ` : h;
478
+ ` : v;
479
479
  }
480
480
  };
481
- j.styles = d`
481
+ E.styles = d`
482
482
  :host {
483
483
  display: inline-flex;
484
484
  flex: none;
@@ -511,24 +511,24 @@ j.styles = d`
511
511
  `;
512
512
  Ve([
513
513
  n()
514
- ], j.prototype, "name", 2);
514
+ ], E.prototype, "name", 2);
515
515
  Ve([
516
516
  n({ reflect: !0 })
517
- ], j.prototype, "size", 2);
517
+ ], E.prototype, "size", 2);
518
518
  Ve([
519
519
  n()
520
- ], j.prototype, "label", 2);
521
- j = Ve([
520
+ ], E.prototype, "label", 2);
521
+ E = Ve([
522
522
  p("vox-icon")
523
- ], j);
524
- var Lo = Object.defineProperty, ne = (t, o, a, r) => {
525
- for (var e = void 0, s = t.length - 1, i; s >= 0; s--)
526
- (i = t[s]) && (e = i(o, a, e) || e);
527
- return e && Lo(o, a, e), e;
523
+ ], E);
524
+ var kt = Object.defineProperty, N = (o, t, a, r) => {
525
+ for (var e = void 0, s = o.length - 1, i; s >= 0; s--)
526
+ (i = o[s]) && (e = i(t, a, e) || e);
527
+ return e && kt(t, a, e), e;
528
528
  };
529
- const io = class io extends v {
529
+ const it = class it extends h {
530
530
  constructor() {
531
- super(), this.name = "", this.label = "", this.note = "", this.disabled = !1, this.required = !1, this.internals = this.attachInternals();
531
+ super(), this.invalid = !1, this.name = "", this.label = "", this.note = "", this.disabled = !1, this.required = !1, this.internals = this.attachInternals();
532
532
  }
533
533
  get form() {
534
534
  return this.internals.form;
@@ -546,38 +546,45 @@ const io = class io extends v {
546
546
  return this.internals.reportValidity();
547
547
  }
548
548
  /** Mirror a native inner control's validity onto the host element. */
549
- syncValidity(o) {
550
- this.internals.setValidity(o.validity, o.validationMessage, o);
549
+ syncValidity(t) {
550
+ this.internals.setValidity(t.validity, t.validationMessage, t), this.invalid = !t.validity.valid;
551
551
  }
552
- renderLabel(o) {
552
+ renderLabel(t) {
553
553
  return this.label ? c`
554
- <label class="label" for=${o}>
555
- ${this.label}${this.required ? c`<span class="required-mark" aria-hidden="true"> *</span>` : h}
554
+ <label class="label" for=${t}>
555
+ ${this.label}${this.required ? c`<span class="required-mark" aria-hidden="true"> *</span>` : v}
556
556
  </label>
557
- ` : h;
557
+ ` : v;
558
+ }
559
+ /** `note`'s id when present, for `aria-describedby` on the native control. */
560
+ get noteId() {
561
+ return this.note ? "note" : void 0;
558
562
  }
559
563
  renderNote() {
560
- return this.note ? c`<p class="note">${this.note}</p>` : h;
564
+ return this.note ? c`<p class="note" id="note">${this.note}</p>` : v;
561
565
  }
562
566
  };
563
- io.formAssociated = !0;
564
- let x = io;
565
- ne([
567
+ it.formAssociated = !0;
568
+ let x = it;
569
+ N([
570
+ le()
571
+ ], x.prototype, "invalid");
572
+ N([
566
573
  n()
567
574
  ], x.prototype, "name");
568
- ne([
575
+ N([
569
576
  n()
570
577
  ], x.prototype, "label");
571
- ne([
578
+ N([
572
579
  n()
573
580
  ], x.prototype, "note");
574
- ne([
581
+ N([
575
582
  n({ type: Boolean, reflect: !0 })
576
583
  ], x.prototype, "disabled");
577
- ne([
584
+ N([
578
585
  n({ type: Boolean, reflect: !0 })
579
586
  ], x.prototype, "required");
580
- const le = d`
587
+ const ce = d`
581
588
  :host {
582
589
  display: block;
583
590
  font-family: var(--vox-font-family-base);
@@ -632,6 +639,15 @@ const le = d`
632
639
  box-shadow: 0 0 0 3px var(--vox-color-brand-soft);
633
640
  }
634
641
 
642
+ .control[aria-invalid='true'] {
643
+ border-color: var(--vox-color-danger-1);
644
+ }
645
+
646
+ .control[aria-invalid='true']:focus {
647
+ border-color: var(--vox-color-danger-1);
648
+ box-shadow: 0 0 0 3px var(--vox-color-danger-soft);
649
+ }
650
+
635
651
  /* Corner flattening when placed inside a <vox-input-group>. */
636
652
  :host([data-vox-group]) .control {
637
653
  border-radius: 0;
@@ -644,7 +660,7 @@ const le = d`
644
660
  :host([data-vox-group='end']) .control {
645
661
  border-radius: 0 var(--vox-radius-md) var(--vox-radius-md) 0;
646
662
  }
647
- `, vo = d`
663
+ `, pt = d`
648
664
  :host {
649
665
  display: block;
650
666
  font-family: var(--vox-font-family-base);
@@ -673,12 +689,12 @@ const le = d`
673
689
  margin: 0;
674
690
  }
675
691
  `;
676
- var Po = Object.defineProperty, Vo = Object.getOwnPropertyDescriptor, Ue = (t, o, a, r) => {
677
- for (var e = r > 1 ? void 0 : r ? Vo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
678
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
679
- return r && e && Po(o, a, e), e;
692
+ var Lt = Object.defineProperty, Pt = Object.getOwnPropertyDescriptor, Ke = (o, t, a, r) => {
693
+ for (var e = r > 1 ? void 0 : r ? Pt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
694
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
695
+ return r && e && Lt(t, a, e), e;
680
696
  };
681
- let I = class extends x {
697
+ let Z = class extends x {
682
698
  constructor() {
683
699
  super(...arguments), this.checked = !1, this.value = "on";
684
700
  }
@@ -686,14 +702,14 @@ let I = class extends x {
686
702
  this.checked = !1;
687
703
  }
688
704
  updated() {
689
- this.internals.setFormValue(this.checked ? this.value : null), this.internals.setValidity(
690
- this.required && !this.checked ? { valueMissing: !0 } : {},
705
+ this.internals.setFormValue(this.checked ? this.value : null), this.invalid = this.required && !this.checked, this.internals.setValidity(
706
+ this.invalid ? { valueMissing: !0 } : {},
691
707
  "Please check this box.",
692
708
  this.renderRoot.querySelector("input") ?? void 0
693
709
  );
694
710
  }
695
- handleChange(t) {
696
- this.checked = t.target.checked, this.dispatchEvent(new Event("change", { bubbles: !0 }));
711
+ handleChange(o) {
712
+ this.checked = o.target.checked, this.dispatchEvent(new Event("change", { bubbles: !0 }));
697
713
  }
698
714
  render() {
699
715
  return c`
@@ -702,6 +718,8 @@ let I = class extends x {
702
718
  type="checkbox"
703
719
  .checked=${this.checked}
704
720
  ?disabled=${this.disabled}
721
+ ?required=${this.required}
722
+ aria-invalid=${this.invalid ? "true" : "false"}
705
723
  @change=${this.handleChange}
706
724
  />
707
725
  <span class="box" aria-hidden="true">
@@ -714,8 +732,8 @@ let I = class extends x {
714
732
  `;
715
733
  }
716
734
  };
717
- I.styles = [
718
- vo,
735
+ Z.styles = [
736
+ pt,
719
737
  d`
720
738
  .box {
721
739
  flex: none;
@@ -755,21 +773,21 @@ I.styles = [
755
773
  }
756
774
  `
757
775
  ];
758
- Ue([
776
+ Ke([
759
777
  n({ type: Boolean, reflect: !0 })
760
- ], I.prototype, "checked", 2);
761
- Ue([
778
+ ], Z.prototype, "checked", 2);
779
+ Ke([
762
780
  n()
763
- ], I.prototype, "value", 2);
764
- I = Ue([
781
+ ], Z.prototype, "value", 2);
782
+ Z = Ke([
765
783
  p("vox-checkbox")
766
- ], I);
767
- var jo = Object.defineProperty, Do = Object.getOwnPropertyDescriptor, B = (t, o, a, r) => {
768
- for (var e = r > 1 ? void 0 : r ? Do(o, a) : o, s = t.length - 1, i; s >= 0; s--)
769
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
770
- return r && e && jo(o, a, e), e;
784
+ ], Z);
785
+ var Vt = Object.defineProperty, jt = Object.getOwnPropertyDescriptor, T = (o, t, a, r) => {
786
+ for (var e = r > 1 ? void 0 : r ? jt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
787
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
788
+ return r && e && Vt(t, a, e), e;
771
789
  };
772
- let g = class extends x {
790
+ let b = class extends x {
773
791
  constructor() {
774
792
  super(...arguments), this.multiple = !1, this.buttonLabel = "Choose a file", this.fileNames = [];
775
793
  }
@@ -777,12 +795,12 @@ let g = class extends x {
777
795
  this.fileNames = [], this.inputEl && (this.inputEl.value = ""), this.internals.setFormValue(null);
778
796
  }
779
797
  handleChange() {
780
- const t = [...this.inputEl.files ?? []];
781
- this.fileNames = t.map((a) => a.name);
782
- const o = new FormData();
783
- for (const a of t) o.append(this.name, a);
784
- this.internals.setFormValue(t.length > 0 ? o : null), this.internals.setValidity(
785
- this.required && t.length === 0 ? { valueMissing: !0 } : {},
798
+ const o = [...this.inputEl.files ?? []];
799
+ this.fileNames = o.map((a) => a.name);
800
+ const t = new FormData();
801
+ for (const a of o) t.append(this.name, a);
802
+ this.internals.setFormValue(o.length > 0 ? t : null), this.invalid = this.required && o.length === 0, this.internals.setValidity(
803
+ this.invalid ? { valueMissing: !0 } : {},
786
804
  "Please select a file.",
787
805
  this.inputEl
788
806
  ), this.dispatchEvent(new Event("change", { bubbles: !0 }));
@@ -795,9 +813,11 @@ let g = class extends x {
795
813
  <input
796
814
  id="file"
797
815
  type="file"
798
- accept=${P(this.accept)}
816
+ accept=${u(this.accept)}
799
817
  ?multiple=${this.multiple}
800
818
  ?disabled=${this.disabled}
819
+ aria-describedby=${u(this.noteId)}
820
+ aria-invalid=${this.invalid ? "true" : "false"}
801
821
  @change=${this.handleChange}
802
822
  />
803
823
  <span class="picker">
@@ -812,8 +832,8 @@ let g = class extends x {
812
832
  `;
813
833
  }
814
834
  };
815
- g.styles = [
816
- le,
835
+ b.styles = [
836
+ ce,
817
837
  d`
818
838
  input {
819
839
  position: absolute;
@@ -862,30 +882,30 @@ g.styles = [
862
882
  }
863
883
  `
864
884
  ];
865
- B([
885
+ T([
866
886
  n()
867
- ], g.prototype, "accept", 2);
868
- B([
887
+ ], b.prototype, "accept", 2);
888
+ T([
869
889
  n({ type: Boolean })
870
- ], g.prototype, "multiple", 2);
871
- B([
890
+ ], b.prototype, "multiple", 2);
891
+ T([
872
892
  n({ attribute: "button-label" })
873
- ], g.prototype, "buttonLabel", 2);
874
- B([
875
- Le()
876
- ], g.prototype, "fileNames", 2);
877
- B([
893
+ ], b.prototype, "buttonLabel", 2);
894
+ T([
895
+ le()
896
+ ], b.prototype, "fileNames", 2);
897
+ T([
878
898
  Ze("input")
879
- ], g.prototype, "inputEl", 2);
880
- g = B([
899
+ ], b.prototype, "inputEl", 2);
900
+ b = T([
881
901
  p("vox-file-input")
882
- ], g);
883
- var zo = Object.defineProperty, Ho = Object.getOwnPropertyDescriptor, q = (t, o, a, r) => {
884
- for (var e = r > 1 ? void 0 : r ? Ho(o, a) : o, s = t.length - 1, i; s >= 0; s--)
885
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
886
- return r && e && zo(o, a, e), e;
902
+ ], b);
903
+ var Dt = Object.defineProperty, zt = Object.getOwnPropertyDescriptor, F = (o, t, a, r) => {
904
+ for (var e = r > 1 ? void 0 : r ? zt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
905
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
906
+ return r && e && Dt(t, a, e), e;
887
907
  };
888
- let b = class extends x {
908
+ let m = class extends x {
889
909
  constructor() {
890
910
  super(...arguments), this.type = "text", this.value = "", this.readonly = !1;
891
911
  }
@@ -894,15 +914,15 @@ let b = class extends x {
894
914
  }
895
915
  updated() {
896
916
  this.internals.setFormValue(this.value);
897
- const t = this.renderRoot.querySelector("input");
898
- t && this.syncValidity(t);
917
+ const o = this.renderRoot.querySelector("input");
918
+ o && this.syncValidity(o);
899
919
  }
900
- focus(t) {
901
- var o;
902
- (o = this.renderRoot.querySelector("input")) == null || o.focus(t);
920
+ focus(o) {
921
+ var t;
922
+ (t = this.renderRoot.querySelector("input")) == null || t.focus(o);
903
923
  }
904
- handleInput(t) {
905
- this.value = t.target.value;
924
+ handleInput(o) {
925
+ this.value = o.target.value;
906
926
  }
907
927
  handleChange() {
908
928
  this.dispatchEvent(new Event("change", { bubbles: !0 }));
@@ -915,13 +935,15 @@ let b = class extends x {
915
935
  id="input"
916
936
  class="control"
917
937
  type=${this.type}
918
- .value=${po(this.value)}
919
- placeholder=${P(this.placeholder)}
920
- autocomplete=${P(this.autocomplete)}
938
+ .value=${dt(this.value)}
939
+ placeholder=${u(this.placeholder)}
940
+ autocomplete=${u(this.autocomplete)}
921
941
  ?required=${this.required}
922
942
  ?readonly=${this.readonly}
923
943
  ?disabled=${this.disabled}
924
- aria-label=${this.label ? h : "text input"}
944
+ aria-label=${this.label ? v : "text input"}
945
+ aria-describedby=${u(this.noteId)}
946
+ aria-invalid=${this.invalid ? "true" : "false"}
925
947
  @input=${this.handleInput}
926
948
  @change=${this.handleChange}
927
949
  />
@@ -930,35 +952,35 @@ let b = class extends x {
930
952
  `;
931
953
  }
932
954
  };
933
- b.styles = le;
934
- q([
955
+ m.styles = ce;
956
+ F([
935
957
  n()
936
- ], b.prototype, "type", 2);
937
- q([
958
+ ], m.prototype, "type", 2);
959
+ F([
938
960
  n()
939
- ], b.prototype, "value", 2);
940
- q([
961
+ ], m.prototype, "value", 2);
962
+ F([
941
963
  n()
942
- ], b.prototype, "placeholder", 2);
943
- q([
964
+ ], m.prototype, "placeholder", 2);
965
+ F([
944
966
  n()
945
- ], b.prototype, "autocomplete", 2);
946
- q([
967
+ ], m.prototype, "autocomplete", 2);
968
+ F([
947
969
  n({ type: Boolean, reflect: !0 })
948
- ], b.prototype, "readonly", 2);
949
- b = q([
970
+ ], m.prototype, "readonly", 2);
971
+ m = F([
950
972
  p("vox-input")
951
- ], b);
952
- var Eo = Object.getOwnPropertyDescriptor, So = (t, o, a, r) => {
953
- for (var e = r > 1 ? void 0 : r ? Eo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
954
- (i = t[s]) && (e = i(e) || e);
973
+ ], m);
974
+ var Et = Object.getOwnPropertyDescriptor, Ht = (o, t, a, r) => {
975
+ for (var e = r > 1 ? void 0 : r ? Et(t, a) : t, s = o.length - 1, i; s >= 0; s--)
976
+ (i = o[s]) && (e = i(e) || e);
955
977
  return e;
956
978
  };
957
- let Be = class extends v {
958
- handleSlotChange(t) {
959
- const o = t.target.assignedElements();
960
- o.forEach((a, r) => {
961
- const e = r === 0 ? "start" : r === o.length - 1 ? "end" : "middle";
979
+ let Ie = class extends h {
980
+ handleSlotChange(o) {
981
+ const t = o.target.assignedElements();
982
+ t.forEach((a, r) => {
983
+ const e = r === 0 ? "start" : r === t.length - 1 ? "end" : "middle";
962
984
  a.setAttribute("data-vox-group", e);
963
985
  });
964
986
  }
@@ -970,7 +992,7 @@ let Be = class extends v {
970
992
  `;
971
993
  }
972
994
  };
973
- Be.styles = d`
995
+ Ie.styles = d`
974
996
  :host {
975
997
  display: block;
976
998
  font-family: var(--vox-font-family-base);
@@ -1012,15 +1034,15 @@ Be.styles = d`
1012
1034
  border-left: none;
1013
1035
  }
1014
1036
  `;
1015
- Be = So([
1037
+ Ie = Ht([
1016
1038
  p("vox-input-group")
1017
- ], Be);
1018
- var Ao = Object.defineProperty, Bo = Object.getOwnPropertyDescriptor, je = (t, o, a, r) => {
1019
- for (var e = r > 1 ? void 0 : r ? Bo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1020
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1021
- return r && e && Ao(o, a, e), e;
1039
+ ], Ie);
1040
+ var St = Object.defineProperty, At = Object.getOwnPropertyDescriptor, je = (o, t, a, r) => {
1041
+ for (var e = r > 1 ? void 0 : r ? At(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1042
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1043
+ return r && e && St(t, a, e), e;
1022
1044
  };
1023
- let D = class extends v {
1045
+ let H = class extends h {
1024
1046
  constructor() {
1025
1047
  super(...arguments), this.value = "", this.checked = !1, this.disabled = !1;
1026
1048
  }
@@ -1029,8 +1051,8 @@ let D = class extends v {
1029
1051
  new CustomEvent("vox-radio-select", { bubbles: !0, composed: !0 })
1030
1052
  );
1031
1053
  }
1032
- handleKeydown(t) {
1033
- (t.key === " " || t.key === "Enter") && (t.preventDefault(), this.select());
1054
+ handleKeydown(o) {
1055
+ (o.key === " " || o.key === "Enter") && (o.preventDefault(), this.select());
1034
1056
  }
1035
1057
  render() {
1036
1058
  return c`
@@ -1049,7 +1071,7 @@ let D = class extends v {
1049
1071
  `;
1050
1072
  }
1051
1073
  };
1052
- D.styles = d`
1074
+ H.styles = d`
1053
1075
  :host {
1054
1076
  display: block;
1055
1077
  font-family: var(--vox-font-family-base);
@@ -1100,22 +1122,22 @@ D.styles = d`
1100
1122
  `;
1101
1123
  je([
1102
1124
  n()
1103
- ], D.prototype, "value", 2);
1125
+ ], H.prototype, "value", 2);
1104
1126
  je([
1105
1127
  n({ type: Boolean, reflect: !0 })
1106
- ], D.prototype, "checked", 2);
1128
+ ], H.prototype, "checked", 2);
1107
1129
  je([
1108
1130
  n({ type: Boolean, reflect: !0 })
1109
- ], D.prototype, "disabled", 2);
1110
- D = je([
1131
+ ], H.prototype, "disabled", 2);
1132
+ H = je([
1111
1133
  p("vox-radio")
1112
- ], D);
1113
- var qo = Object.defineProperty, No = Object.getOwnPropertyDescriptor, ho = (t, o, a, r) => {
1114
- for (var e = r > 1 ? void 0 : r ? No(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1115
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1116
- return r && e && qo(o, a, e), e;
1134
+ ], H);
1135
+ var It = Object.defineProperty, Bt = Object.getOwnPropertyDescriptor, ht = (o, t, a, r) => {
1136
+ for (var e = r > 1 ? void 0 : r ? Bt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1137
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1138
+ return r && e && It(t, a, e), e;
1117
1139
  };
1118
- let be = class extends x {
1140
+ let me = class extends x {
1119
1141
  constructor() {
1120
1142
  super(...arguments), this.value = "";
1121
1143
  }
@@ -1126,43 +1148,50 @@ let be = class extends x {
1126
1148
  this.value = "";
1127
1149
  }
1128
1150
  updated() {
1129
- this.internals.setFormValue(this.value || null), this.internals.setValidity(
1130
- this.required && !this.value ? { valueMissing: !0 } : {},
1151
+ this.internals.setFormValue(this.value || null), this.invalid = this.required && !this.value, this.internals.setValidity(
1152
+ this.invalid ? { valueMissing: !0 } : {},
1131
1153
  "Please select an option.",
1132
1154
  this
1133
1155
  ), this.syncRadios();
1134
1156
  }
1135
1157
  syncRadios() {
1136
- const t = this.radios, o = t.some((a) => a.value === this.value && this.value !== "");
1137
- t.forEach((a, r) => {
1158
+ const o = this.radios, t = o.some((r) => r.value === this.value && this.value !== ""), a = o.find((r) => !r.disabled);
1159
+ o.forEach((r) => {
1138
1160
  var s, i;
1139
- a.checked = this.value !== "" && a.value === this.value;
1140
- const e = o ? a.checked : r === 0;
1141
- (i = (s = a.shadowRoot) == null ? void 0 : s.querySelector(".radio")) == null || i.setAttribute("tabindex", e ? "0" : "-1");
1161
+ r.checked = this.value !== "" && r.value === this.value;
1162
+ const e = t ? r.checked : r === a;
1163
+ (i = (s = r.shadowRoot) == null ? void 0 : s.querySelector(".radio")) == null || i.setAttribute("tabindex", e ? "0" : "-1");
1142
1164
  });
1143
1165
  }
1144
- handleSelect(t) {
1145
- const o = t.target;
1146
- !(o instanceof HTMLElement) || o.tagName !== "VOX-RADIO" || (t.stopPropagation(), this.value !== o.value && (this.value = o.value, this.dispatchEvent(new Event("change", { bubbles: !0 }))));
1166
+ handleSelect(o) {
1167
+ const t = o.target;
1168
+ !(t instanceof HTMLElement) || t.tagName !== "VOX-RADIO" || (o.stopPropagation(), this.value !== t.value && (this.value = t.value, this.dispatchEvent(new Event("change", { bubbles: !0 }))));
1147
1169
  }
1148
- handleKeydown(t) {
1149
- var no, lo;
1170
+ handleKeydown(o) {
1171
+ var nt, lt;
1150
1172
  const a = {
1151
1173
  ArrowDown: 1,
1152
1174
  ArrowRight: 1,
1153
1175
  ArrowUp: -1,
1154
1176
  ArrowLeft: -1
1155
- }[t.key];
1177
+ }[o.key];
1156
1178
  if (!a) return;
1157
- t.preventDefault();
1179
+ o.preventDefault();
1158
1180
  const r = this.radios.filter((Ae) => !Ae.disabled);
1159
1181
  if (r.length === 0) return;
1160
1182
  const e = r.findIndex((Ae) => Ae.checked), s = (Math.max(e, 0) + a + r.length) % r.length, i = r[s];
1161
- i.select(), (lo = (no = i.shadowRoot) == null ? void 0 : no.querySelector(".radio")) == null || lo.focus();
1183
+ i.select(), (lt = (nt = i.shadowRoot) == null ? void 0 : nt.querySelector(".radio")) == null || lt.focus();
1162
1184
  }
1163
1185
  render() {
1164
1186
  return c`
1165
- <div class="field" role="radiogroup" aria-label=${this.label}>
1187
+ <div
1188
+ class="field"
1189
+ role="radiogroup"
1190
+ aria-label=${this.label || v}
1191
+ aria-describedby=${u(this.noteId)}
1192
+ aria-invalid=${this.invalid ? "true" : "false"}
1193
+ aria-required=${this.required ? "true" : "false"}
1194
+ >
1166
1195
  ${this.label ? c`<span class="label">
1167
1196
  ${this.label}${this.required ? c`<span class="required-mark" aria-hidden="true"> *</span>` : ""}
1168
1197
  </span>` : ""}
@@ -1178,8 +1207,8 @@ let be = class extends x {
1178
1207
  `;
1179
1208
  }
1180
1209
  };
1181
- be.styles = [
1182
- le,
1210
+ me.styles = [
1211
+ ce,
1183
1212
  d`
1184
1213
  .options {
1185
1214
  display: flex;
@@ -1189,18 +1218,18 @@ be.styles = [
1189
1218
  }
1190
1219
  `
1191
1220
  ];
1192
- ho([
1221
+ ht([
1193
1222
  n()
1194
- ], be.prototype, "value", 2);
1195
- be = ho([
1223
+ ], me.prototype, "value", 2);
1224
+ me = ht([
1196
1225
  p("vox-radio-group")
1197
- ], be);
1198
- var Io = Object.defineProperty, To = Object.getOwnPropertyDescriptor, Ge = (t, o, a, r) => {
1199
- for (var e = r > 1 ? void 0 : r ? To(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1200
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1201
- return r && e && Io(o, a, e), e;
1226
+ ], me);
1227
+ var qt = Object.defineProperty, Nt = Object.getOwnPropertyDescriptor, Ge = (o, t, a, r) => {
1228
+ for (var e = r > 1 ? void 0 : r ? Nt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1229
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1230
+ return r && e && qt(t, a, e), e;
1202
1231
  };
1203
- let T = class extends x {
1232
+ let U = class extends x {
1204
1233
  constructor() {
1205
1234
  super(...arguments), this.value = "";
1206
1235
  }
@@ -1212,9 +1241,9 @@ let T = class extends x {
1212
1241
  }
1213
1242
  syncOptions() {
1214
1243
  if (!this.selectEl) return;
1215
- const t = this.renderRoot.querySelector("slot");
1216
- t && (this.selectEl.replaceChildren(
1217
- ...t.assignedElements().filter((o) => o instanceof HTMLOptionElement || o instanceof HTMLOptGroupElement).map((o) => o.cloneNode(!0))
1244
+ const o = this.renderRoot.querySelector("slot");
1245
+ o && (this.selectEl.replaceChildren(
1246
+ ...o.assignedElements().filter((t) => t instanceof HTMLOptionElement || t instanceof HTMLOptGroupElement).map((t) => t.cloneNode(!0))
1218
1247
  ), this.value && (this.selectEl.value = this.value), this.value = this.selectEl.value);
1219
1248
  }
1220
1249
  handleChange() {
@@ -1229,6 +1258,8 @@ let T = class extends x {
1229
1258
  class="control"
1230
1259
  ?required=${this.required}
1231
1260
  ?disabled=${this.disabled}
1261
+ aria-describedby=${u(this.noteId)}
1262
+ aria-invalid=${this.invalid ? "true" : "false"}
1232
1263
  @change=${this.handleChange}
1233
1264
  ></select>
1234
1265
  ${this.renderNote()}
@@ -1237,8 +1268,8 @@ let T = class extends x {
1237
1268
  `;
1238
1269
  }
1239
1270
  };
1240
- T.styles = [
1241
- le,
1271
+ U.styles = [
1272
+ ce,
1242
1273
  d`
1243
1274
  select.control {
1244
1275
  appearance: none;
@@ -1252,19 +1283,19 @@ T.styles = [
1252
1283
  ];
1253
1284
  Ge([
1254
1285
  n()
1255
- ], T.prototype, "value", 2);
1286
+ ], U.prototype, "value", 2);
1256
1287
  Ge([
1257
1288
  Ze("select")
1258
- ], T.prototype, "selectEl", 2);
1259
- T = Ge([
1289
+ ], U.prototype, "selectEl", 2);
1290
+ U = Ge([
1260
1291
  p("vox-select")
1261
- ], T);
1262
- var Ro = Object.defineProperty, Fo = Object.getOwnPropertyDescriptor, Xe = (t, o, a, r) => {
1263
- for (var e = r > 1 ? void 0 : r ? Fo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1264
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1265
- return r && e && Ro(o, a, e), e;
1292
+ ], U);
1293
+ var Tt = Object.defineProperty, Ft = Object.getOwnPropertyDescriptor, Xe = (o, t, a, r) => {
1294
+ for (var e = r > 1 ? void 0 : r ? Ft(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1295
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1296
+ return r && e && Tt(t, a, e), e;
1266
1297
  };
1267
- let R = class extends x {
1298
+ let K = class extends x {
1268
1299
  constructor() {
1269
1300
  super(...arguments), this.checked = !1, this.value = "on";
1270
1301
  }
@@ -1274,8 +1305,8 @@ let R = class extends x {
1274
1305
  updated() {
1275
1306
  this.internals.setFormValue(this.checked ? this.value : null);
1276
1307
  }
1277
- handleChange(t) {
1278
- this.checked = t.target.checked, this.dispatchEvent(new Event("change", { bubbles: !0 }));
1308
+ handleChange(o) {
1309
+ this.checked = o.target.checked, this.dispatchEvent(new Event("change", { bubbles: !0 }));
1279
1310
  }
1280
1311
  render() {
1281
1312
  return c`
@@ -1293,8 +1324,8 @@ let R = class extends x {
1293
1324
  `;
1294
1325
  }
1295
1326
  };
1296
- R.styles = [
1297
- vo,
1327
+ K.styles = [
1328
+ pt,
1298
1329
  d`
1299
1330
  .track {
1300
1331
  flex: none;
@@ -1335,19 +1366,19 @@ R.styles = [
1335
1366
  ];
1336
1367
  Xe([
1337
1368
  n({ type: Boolean, reflect: !0 })
1338
- ], R.prototype, "checked", 2);
1369
+ ], K.prototype, "checked", 2);
1339
1370
  Xe([
1340
1371
  n()
1341
- ], R.prototype, "value", 2);
1342
- R = Xe([
1372
+ ], K.prototype, "value", 2);
1373
+ K = Xe([
1343
1374
  p("vox-switch")
1344
- ], R);
1345
- var Zo = Object.defineProperty, Ko = Object.getOwnPropertyDescriptor, ce = (t, o, a, r) => {
1346
- for (var e = r > 1 ? void 0 : r ? Ko(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1347
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1348
- return r && e && Zo(o, a, e), e;
1375
+ ], K);
1376
+ var Rt = Object.defineProperty, Zt = Object.getOwnPropertyDescriptor, de = (o, t, a, r) => {
1377
+ for (var e = r > 1 ? void 0 : r ? Zt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1378
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1379
+ return r && e && Rt(t, a, e), e;
1349
1380
  };
1350
- let y = class extends x {
1381
+ let w = class extends x {
1351
1382
  constructor() {
1352
1383
  super(...arguments), this.value = "", this.rows = 4, this.readonly = !1;
1353
1384
  }
@@ -1356,15 +1387,15 @@ let y = class extends x {
1356
1387
  }
1357
1388
  updated() {
1358
1389
  this.internals.setFormValue(this.value);
1359
- const t = this.renderRoot.querySelector("textarea");
1360
- t && this.syncValidity(t);
1390
+ const o = this.renderRoot.querySelector("textarea");
1391
+ o && this.syncValidity(o);
1361
1392
  }
1362
- focus(t) {
1363
- var o;
1364
- (o = this.renderRoot.querySelector("textarea")) == null || o.focus(t);
1393
+ focus(o) {
1394
+ var t;
1395
+ (t = this.renderRoot.querySelector("textarea")) == null || t.focus(o);
1365
1396
  }
1366
- handleInput(t) {
1367
- this.value = t.target.value;
1397
+ handleInput(o) {
1398
+ this.value = o.target.value;
1368
1399
  }
1369
1400
  handleChange() {
1370
1401
  this.dispatchEvent(new Event("change", { bubbles: !0 }));
@@ -1377,11 +1408,13 @@ let y = class extends x {
1377
1408
  id="textarea"
1378
1409
  class="control"
1379
1410
  rows=${this.rows}
1380
- .value=${po(this.value)}
1381
- placeholder=${P(this.placeholder)}
1411
+ .value=${dt(this.value)}
1412
+ placeholder=${u(this.placeholder)}
1382
1413
  ?required=${this.required}
1383
1414
  ?readonly=${this.readonly}
1384
1415
  ?disabled=${this.disabled}
1416
+ aria-describedby=${u(this.noteId)}
1417
+ aria-invalid=${this.invalid ? "true" : "false"}
1385
1418
  @input=${this.handleInput}
1386
1419
  @change=${this.handleChange}
1387
1420
  ></textarea>
@@ -1390,8 +1423,8 @@ let y = class extends x {
1390
1423
  `;
1391
1424
  }
1392
1425
  };
1393
- y.styles = [
1394
- le,
1426
+ w.styles = [
1427
+ ce,
1395
1428
  d`
1396
1429
  textarea.control {
1397
1430
  resize: vertical;
@@ -1399,39 +1432,44 @@ y.styles = [
1399
1432
  }
1400
1433
  `
1401
1434
  ];
1402
- ce([
1435
+ de([
1403
1436
  n()
1404
- ], y.prototype, "value", 2);
1405
- ce([
1437
+ ], w.prototype, "value", 2);
1438
+ de([
1406
1439
  n()
1407
- ], y.prototype, "placeholder", 2);
1408
- ce([
1440
+ ], w.prototype, "placeholder", 2);
1441
+ de([
1409
1442
  n({ type: Number })
1410
- ], y.prototype, "rows", 2);
1411
- ce([
1443
+ ], w.prototype, "rows", 2);
1444
+ de([
1412
1445
  n({ type: Boolean, reflect: !0 })
1413
- ], y.prototype, "readonly", 2);
1414
- y = ce([
1446
+ ], w.prototype, "readonly", 2);
1447
+ w = de([
1415
1448
  p("vox-textarea")
1416
- ], y);
1417
- var Uo = Object.defineProperty, Go = Object.getOwnPropertyDescriptor, de = (t, o, a, r) => {
1418
- for (var e = r > 1 ? void 0 : r ? Go(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1419
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1420
- return r && e && Uo(o, a, e), e;
1449
+ ], w);
1450
+ var Ut = Object.defineProperty, Kt = Object.getOwnPropertyDescriptor, pe = (o, t, a, r) => {
1451
+ for (var e = r > 1 ? void 0 : r ? Kt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1452
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1453
+ return r && e && Ut(t, a, e), e;
1421
1454
  };
1422
- let w = class extends v {
1455
+ let $ = class extends h {
1423
1456
  constructor() {
1424
1457
  super(...arguments), this.alt = "", this.initials = "", this.size = "md";
1425
1458
  }
1426
1459
  render() {
1460
+ const o = !this.src && this.alt;
1427
1461
  return c`
1428
- <span class="avatar" role=${this.src ? "presentation" : "img"} aria-label=${this.alt}>
1462
+ <span
1463
+ class="avatar"
1464
+ role=${o ? "img" : v}
1465
+ aria-label=${o ? this.alt : v}
1466
+ >
1429
1467
  ${this.src ? c`<img src=${this.src} alt=${this.alt} />` : this.initials}
1430
1468
  </span>
1431
1469
  `;
1432
1470
  }
1433
1471
  };
1434
- w.styles = d`
1472
+ $.styles = d`
1435
1473
  :host {
1436
1474
  display: inline-block;
1437
1475
  }
@@ -1479,33 +1517,33 @@ w.styles = d`
1479
1517
  font-size: 28px;
1480
1518
  }
1481
1519
  `;
1482
- de([
1520
+ pe([
1483
1521
  n()
1484
- ], w.prototype, "src", 2);
1485
- de([
1522
+ ], $.prototype, "src", 2);
1523
+ pe([
1486
1524
  n()
1487
- ], w.prototype, "alt", 2);
1488
- de([
1525
+ ], $.prototype, "alt", 2);
1526
+ pe([
1489
1527
  n()
1490
- ], w.prototype, "initials", 2);
1491
- de([
1528
+ ], $.prototype, "initials", 2);
1529
+ pe([
1492
1530
  n({ reflect: !0 })
1493
- ], w.prototype, "size", 2);
1494
- w = de([
1531
+ ], $.prototype, "size", 2);
1532
+ $ = pe([
1495
1533
  p("vox-avatar")
1496
- ], w);
1497
- var Xo = Object.defineProperty, Qo = Object.getOwnPropertyDescriptor, Qe = (t, o, a, r) => {
1498
- for (var e = r > 1 ? void 0 : r ? Qo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1499
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1500
- return r && e && Xo(o, a, e), e;
1534
+ ], $);
1535
+ var Gt = Object.defineProperty, Xt = Object.getOwnPropertyDescriptor, Qe = (o, t, a, r) => {
1536
+ for (var e = r > 1 ? void 0 : r ? Xt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1537
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1538
+ return r && e && Gt(t, a, e), e;
1501
1539
  };
1502
- let F = class extends v {
1540
+ let G = class extends h {
1503
1541
  constructor() {
1504
1542
  super(...arguments), this.heading = "", this.reverse = !1, this.hasActions = !1;
1505
1543
  }
1506
- handleActionsSlotChange(t) {
1507
- const o = t.target;
1508
- this.hasActions = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
1544
+ handleActionsSlotChange(o) {
1545
+ const t = o.target;
1546
+ this.hasActions = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
1509
1547
  }
1510
1548
  render() {
1511
1549
  return c`
@@ -1522,7 +1560,7 @@ let F = class extends v {
1522
1560
  `;
1523
1561
  }
1524
1562
  };
1525
- F.styles = d`
1563
+ G.styles = d`
1526
1564
  :host {
1527
1565
  display: block;
1528
1566
  font-family: var(--vox-font-family-base);
@@ -1586,19 +1624,19 @@ F.styles = d`
1586
1624
  `;
1587
1625
  Qe([
1588
1626
  n()
1589
- ], F.prototype, "heading", 2);
1627
+ ], G.prototype, "heading", 2);
1590
1628
  Qe([
1591
1629
  n({ type: Boolean, reflect: !0 })
1592
- ], F.prototype, "reverse", 2);
1593
- F = Qe([
1630
+ ], G.prototype, "reverse", 2);
1631
+ G = Qe([
1594
1632
  p("vox-billboard")
1595
- ], F);
1596
- var Wo = Object.getOwnPropertyDescriptor, Yo = (t, o, a, r) => {
1597
- for (var e = r > 1 ? void 0 : r ? Wo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1598
- (i = t[s]) && (e = i(e) || e);
1633
+ ], G);
1634
+ var Qt = Object.getOwnPropertyDescriptor, Wt = (o, t, a, r) => {
1635
+ for (var e = r > 1 ? void 0 : r ? Qt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1636
+ (i = o[s]) && (e = i(e) || e);
1599
1637
  return e;
1600
1638
  };
1601
- let qe = class extends v {
1639
+ let Be = class extends h {
1602
1640
  render() {
1603
1641
  return c`
1604
1642
  <nav aria-label="Breadcrumbs">
@@ -1607,7 +1645,7 @@ let qe = class extends v {
1607
1645
  `;
1608
1646
  }
1609
1647
  };
1610
- qe.styles = d`
1648
+ Be.styles = d`
1611
1649
  :host {
1612
1650
  display: block;
1613
1651
  font-family: var(--vox-font-family-base);
@@ -1641,21 +1679,24 @@ qe.styles = d`
1641
1679
  color: var(--vox-color-text-3);
1642
1680
  }
1643
1681
  `;
1644
- qe = Yo([
1682
+ Be = Wt([
1645
1683
  p("vox-breadcrumbs")
1646
- ], qe);
1647
- var Jo = Object.defineProperty, et = Object.getOwnPropertyDescriptor, De = (t, o, a, r) => {
1648
- for (var e = r > 1 ? void 0 : r ? et(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1649
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1650
- return r && e && Jo(o, a, e), e;
1684
+ ], Be);
1685
+ var Yt = Object.defineProperty, Jt = Object.getOwnPropertyDescriptor, De = (o, t, a, r) => {
1686
+ for (var e = r > 1 ? void 0 : r ? Jt(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1687
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1688
+ return r && e && Yt(t, a, e), e;
1651
1689
  };
1652
- let z = class extends v {
1690
+ let S = class extends h {
1653
1691
  constructor() {
1654
- super(...arguments), this.siteTitle = "", this.href = "/", this.mobileOpen = !1, this.handleOutsideClick = (t) => {
1655
- this.mobileOpen && !t.composedPath().includes(this) && (this.mobileOpen = !1);
1656
- }, this.handleKeydown = (t) => {
1657
- var o;
1658
- t.key === "Escape" && this.mobileOpen && (this.mobileOpen = !1, (o = this.renderRoot.querySelector(".menu-toggle")) == null || o.focus());
1692
+ super(...arguments), this.siteTitle = "", this.href = "/", this.mobileOpen = !1, this.handleOutsideClick = (o) => {
1693
+ this.mobileOpen && !o.composedPath().includes(this) && (this.mobileOpen = !1);
1694
+ }, this.handleFocusOut = (o) => {
1695
+ const t = o.relatedTarget;
1696
+ this.mobileOpen && !(t && this.contains(t)) && (this.mobileOpen = !1);
1697
+ }, this.handleKeydown = (o) => {
1698
+ var t;
1699
+ o.key === "Escape" && this.mobileOpen && (this.mobileOpen = !1, (t = this.renderRoot.querySelector(".menu-toggle")) == null || t.focus());
1659
1700
  }, this.toggleMobileMenu = () => {
1660
1701
  this.mobileOpen = !this.mobileOpen;
1661
1702
  }, this.closeMobileMenu = () => {
@@ -1663,17 +1704,17 @@ let z = class extends v {
1663
1704
  };
1664
1705
  }
1665
1706
  connectedCallback() {
1666
- super.connectedCallback(), document.addEventListener("click", this.handleOutsideClick), this.addEventListener("keydown", this.handleKeydown);
1707
+ super.connectedCallback(), document.addEventListener("click", this.handleOutsideClick), this.addEventListener("keydown", this.handleKeydown), this.addEventListener("focusout", this.handleFocusOut);
1667
1708
  }
1668
1709
  disconnectedCallback() {
1669
- super.disconnectedCallback(), document.removeEventListener("click", this.handleOutsideClick), this.removeEventListener("keydown", this.handleKeydown);
1710
+ super.disconnectedCallback(), document.removeEventListener("click", this.handleOutsideClick), this.removeEventListener("keydown", this.handleKeydown), this.removeEventListener("focusout", this.handleFocusOut);
1670
1711
  }
1671
1712
  render() {
1672
1713
  return c`
1673
1714
  <header class="header">
1674
1715
  <a class="brand" href=${this.href}>
1675
1716
  <slot name="logo"></slot>
1676
- ${this.siteTitle ? c`<span>${this.siteTitle}</span>` : h}
1717
+ ${this.siteTitle ? c`<span>${this.siteTitle}</span>` : v}
1677
1718
  </a>
1678
1719
  <button
1679
1720
  type="button"
@@ -1693,7 +1734,7 @@ let z = class extends v {
1693
1734
  stroke-linejoin="round"
1694
1735
  aria-hidden="true"
1695
1736
  >
1696
- ${this.mobileOpen ? m.close : m.menu}
1737
+ ${this.mobileOpen ? y.close : y.menu}
1697
1738
  </svg>
1698
1739
  </button>
1699
1740
  <div id="nav-wrap" class="nav-wrap${this.mobileOpen ? " open" : ""}">
@@ -1708,7 +1749,7 @@ let z = class extends v {
1708
1749
  `;
1709
1750
  }
1710
1751
  };
1711
- z.styles = d`
1752
+ S.styles = d`
1712
1753
  :host {
1713
1754
  display: block;
1714
1755
  font-family: var(--vox-font-family-base);
@@ -1840,22 +1881,22 @@ z.styles = d`
1840
1881
  `;
1841
1882
  De([
1842
1883
  n({ attribute: "site-title" })
1843
- ], z.prototype, "siteTitle", 2);
1884
+ ], S.prototype, "siteTitle", 2);
1844
1885
  De([
1845
1886
  n()
1846
- ], z.prototype, "href", 2);
1887
+ ], S.prototype, "href", 2);
1847
1888
  De([
1848
- Le()
1849
- ], z.prototype, "mobileOpen", 2);
1850
- z = De([
1889
+ le()
1890
+ ], S.prototype, "mobileOpen", 2);
1891
+ S = De([
1851
1892
  p("vox-header")
1852
- ], z);
1853
- var ot = Object.defineProperty, tt = Object.getOwnPropertyDescriptor, pe = (t, o, a, r) => {
1854
- for (var e = r > 1 ? void 0 : r ? tt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1855
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1856
- return r && e && ot(o, a, e), e;
1893
+ ], S);
1894
+ var eo = Object.defineProperty, to = Object.getOwnPropertyDescriptor, he = (o, t, a, r) => {
1895
+ for (var e = r > 1 ? void 0 : r ? to(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1896
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1897
+ return r && e && eo(t, a, e), e;
1857
1898
  };
1858
- let $ = class extends v {
1899
+ let _ = class extends h {
1859
1900
  constructor() {
1860
1901
  super(...arguments), this.previousLabel = "", this.nextLabel = "";
1861
1902
  }
@@ -1867,18 +1908,18 @@ let $ = class extends v {
1867
1908
  <span class="direction">← Previous</span>
1868
1909
  <span class="title">${this.previousLabel}</span>
1869
1910
  </a>
1870
- ` : h}
1911
+ ` : v}
1871
1912
  ${this.nextHref ? c`
1872
1913
  <a class="next" href=${this.nextHref} rel="next">
1873
1914
  <span class="direction">Next →</span>
1874
1915
  <span class="title">${this.nextLabel}</span>
1875
1916
  </a>
1876
- ` : h}
1917
+ ` : v}
1877
1918
  </nav>
1878
1919
  `;
1879
1920
  }
1880
1921
  };
1881
- $.styles = d`
1922
+ _.styles = d`
1882
1923
  :host {
1883
1924
  display: block;
1884
1925
  font-family: var(--vox-font-family-base);
@@ -1928,44 +1969,47 @@ $.styles = d`
1928
1969
  color: var(--vox-color-brand-1);
1929
1970
  }
1930
1971
  `;
1931
- pe([
1972
+ he([
1932
1973
  n({ attribute: "previous-href" })
1933
- ], $.prototype, "previousHref", 2);
1934
- pe([
1974
+ ], _.prototype, "previousHref", 2);
1975
+ he([
1935
1976
  n({ attribute: "previous-label" })
1936
- ], $.prototype, "previousLabel", 2);
1937
- pe([
1977
+ ], _.prototype, "previousLabel", 2);
1978
+ he([
1938
1979
  n({ attribute: "next-href" })
1939
- ], $.prototype, "nextHref", 2);
1940
- pe([
1980
+ ], _.prototype, "nextHref", 2);
1981
+ he([
1941
1982
  n({ attribute: "next-label" })
1942
- ], $.prototype, "nextLabel", 2);
1943
- $ = pe([
1983
+ ], _.prototype, "nextLabel", 2);
1984
+ _ = he([
1944
1985
  p("vox-series-nav")
1945
- ], $);
1946
- var rt = Object.defineProperty, at = Object.getOwnPropertyDescriptor, u = (t, o, a, r) => {
1947
- for (var e = r > 1 ? void 0 : r ? at(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1948
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1949
- return r && e && rt(o, a, e), e;
1986
+ ], _);
1987
+ var oo = Object.defineProperty, ro = Object.getOwnPropertyDescriptor, f = (o, t, a, r) => {
1988
+ for (var e = r > 1 ? void 0 : r ? ro(t, a) : t, s = o.length - 1, i; s >= 0; s--)
1989
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
1990
+ return r && e && oo(t, a, e), e;
1950
1991
  };
1951
- let H = class extends v {
1992
+ let A = class extends h {
1952
1993
  constructor() {
1953
- super(...arguments), this.label = "Section", this.toggleLabel = "Menu", this.mobileOpen = !1, this.handleOutsideClick = (t) => {
1954
- this.mobileOpen && !t.composedPath().includes(this) && (this.mobileOpen = !1);
1955
- }, this.handleKeydown = (t) => {
1956
- var o;
1957
- t.key === "Escape" && this.mobileOpen && (this.mobileOpen = !1, (o = this.renderRoot.querySelector(".toggle")) == null || o.focus());
1994
+ super(...arguments), this.label = "Section", this.toggleLabel = "Menu", this.mobileOpen = !1, this.handleOutsideClick = (o) => {
1995
+ this.mobileOpen && !o.composedPath().includes(this) && (this.mobileOpen = !1);
1996
+ }, this.handleFocusOut = (o) => {
1997
+ const t = o.relatedTarget;
1998
+ this.mobileOpen && !(t && this.contains(t)) && (this.mobileOpen = !1);
1999
+ }, this.handleKeydown = (o) => {
2000
+ var t;
2001
+ o.key === "Escape" && this.mobileOpen && (this.mobileOpen = !1, (t = this.renderRoot.querySelector(".toggle")) == null || t.focus());
1958
2002
  }, this.toggleMobile = () => {
1959
2003
  this.mobileOpen = !this.mobileOpen;
1960
- }, this.handleNavClick = (t) => {
1961
- t.composedPath().some((o) => o instanceof HTMLAnchorElement) && (this.mobileOpen = !1);
2004
+ }, this.handleNavClick = (o) => {
2005
+ o.composedPath().some((t) => t instanceof HTMLAnchorElement) && (this.mobileOpen = !1);
1962
2006
  };
1963
2007
  }
1964
2008
  connectedCallback() {
1965
- super.connectedCallback(), document.addEventListener("click", this.handleOutsideClick), this.addEventListener("keydown", this.handleKeydown);
2009
+ super.connectedCallback(), document.addEventListener("click", this.handleOutsideClick), this.addEventListener("keydown", this.handleKeydown), this.addEventListener("focusout", this.handleFocusOut);
1966
2010
  }
1967
2011
  disconnectedCallback() {
1968
- super.disconnectedCallback(), document.removeEventListener("click", this.handleOutsideClick), this.removeEventListener("keydown", this.handleKeydown);
2012
+ super.disconnectedCallback(), document.removeEventListener("click", this.handleOutsideClick), this.removeEventListener("keydown", this.handleKeydown), this.removeEventListener("focusout", this.handleFocusOut);
1969
2013
  }
1970
2014
  render() {
1971
2015
  return c`
@@ -1987,7 +2031,7 @@ let H = class extends v {
1987
2031
  stroke-linejoin="round"
1988
2032
  aria-hidden="true"
1989
2033
  >
1990
- ${this.mobileOpen ? m.close : m.menu}
2034
+ ${this.mobileOpen ? y.close : y.menu}
1991
2035
  </svg>
1992
2036
  </button>
1993
2037
  <nav
@@ -2001,7 +2045,7 @@ let H = class extends v {
2001
2045
  `;
2002
2046
  }
2003
2047
  };
2004
- H.styles = d`
2048
+ A.styles = d`
2005
2049
  :host {
2006
2050
  display: block;
2007
2051
  font-family: var(--vox-font-family-base);
@@ -2061,21 +2105,21 @@ H.styles = d`
2061
2105
  }
2062
2106
  }
2063
2107
  `;
2064
- u([
2108
+ f([
2065
2109
  n()
2066
- ], H.prototype, "label", 2);
2067
- u([
2110
+ ], A.prototype, "label", 2);
2111
+ f([
2068
2112
  n({ attribute: "toggle-label" })
2069
- ], H.prototype, "toggleLabel", 2);
2070
- u([
2071
- Le()
2072
- ], H.prototype, "mobileOpen", 2);
2073
- H = u([
2113
+ ], A.prototype, "toggleLabel", 2);
2114
+ f([
2115
+ le()
2116
+ ], A.prototype, "mobileOpen", 2);
2117
+ A = f([
2074
2118
  p("vox-sidenav")
2075
- ], H);
2076
- let Z = class extends v {
2119
+ ], A);
2120
+ let C = class extends h {
2077
2121
  constructor() {
2078
- super(...arguments), this.heading = "", this.open = !1;
2122
+ super(...arguments), this.heading = "", this.open = !1, this.itemsId = `vox-sidenav-group-items-${C.nextId++}`;
2079
2123
  }
2080
2124
  toggle() {
2081
2125
  this.open = !this.open;
@@ -2085,6 +2129,7 @@ let Z = class extends v {
2085
2129
  <button
2086
2130
  class="trigger"
2087
2131
  aria-expanded=${this.open ? "true" : "false"}
2132
+ aria-controls=${this.itemsId}
2088
2133
  @click=${this.toggle}
2089
2134
  >
2090
2135
  ${this.heading}
@@ -2092,11 +2137,12 @@ let Z = class extends v {
2092
2137
  <path d="m9 6 6 6-6 6" />
2093
2138
  </svg>
2094
2139
  </button>
2095
- <div class="items"><slot></slot></div>
2140
+ <div id=${this.itemsId} class="items"><slot></slot></div>
2096
2141
  `;
2097
2142
  }
2098
2143
  };
2099
- Z.styles = d`
2144
+ C.nextId = 0;
2145
+ C.styles = d`
2100
2146
  :host {
2101
2147
  display: block;
2102
2148
  font-family: var(--vox-font-family-base);
@@ -2153,22 +2199,22 @@ Z.styles = d`
2153
2199
  display: flex;
2154
2200
  }
2155
2201
  `;
2156
- u([
2202
+ f([
2157
2203
  n()
2158
- ], Z.prototype, "heading", 2);
2159
- u([
2204
+ ], C.prototype, "heading", 2);
2205
+ f([
2160
2206
  n({ type: Boolean, reflect: !0 })
2161
- ], Z.prototype, "open", 2);
2162
- Z = u([
2207
+ ], C.prototype, "open", 2);
2208
+ C = f([
2163
2209
  p("vox-sidenav-group")
2164
- ], Z);
2165
- let K = class extends v {
2210
+ ], C);
2211
+ let X = class extends h {
2166
2212
  constructor() {
2167
2213
  super(...arguments), this.href = "#", this.current = !1, this.hasIcon = !1;
2168
2214
  }
2169
- handleIconSlotChange(t) {
2170
- const o = t.target;
2171
- this.hasIcon = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
2215
+ handleIconSlotChange(o) {
2216
+ const t = o.target;
2217
+ this.hasIcon = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
2172
2218
  }
2173
2219
  render() {
2174
2220
  return c`
@@ -2181,7 +2227,7 @@ let K = class extends v {
2181
2227
  `;
2182
2228
  }
2183
2229
  };
2184
- K.styles = d`
2230
+ X.styles = d`
2185
2231
  :host {
2186
2232
  display: block;
2187
2233
  font-family: var(--vox-font-family-base);
@@ -2225,21 +2271,21 @@ K.styles = d`
2225
2271
  display: none;
2226
2272
  }
2227
2273
  `;
2228
- u([
2274
+ f([
2229
2275
  n()
2230
- ], K.prototype, "href", 2);
2231
- u([
2276
+ ], X.prototype, "href", 2);
2277
+ f([
2232
2278
  n({ type: Boolean, reflect: !0 })
2233
- ], K.prototype, "current", 2);
2234
- K = u([
2279
+ ], X.prototype, "current", 2);
2280
+ X = f([
2235
2281
  p("vox-sidenav-item")
2236
- ], K);
2237
- var st = Object.defineProperty, it = Object.getOwnPropertyDescriptor, xo = (t, o, a, r) => {
2238
- for (var e = r > 1 ? void 0 : r ? it(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2239
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2240
- return r && e && st(o, a, e), e;
2282
+ ], X);
2283
+ var ao = Object.defineProperty, so = Object.getOwnPropertyDescriptor, vt = (o, t, a, r) => {
2284
+ for (var e = r > 1 ? void 0 : r ? so(t, a) : t, s = o.length - 1, i; s >= 0; s--)
2285
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
2286
+ return r && e && ao(t, a, e), e;
2241
2287
  };
2242
- let me = class extends v {
2288
+ let ye = class extends h {
2243
2289
  constructor() {
2244
2290
  super(...arguments), this.label = "Secondary";
2245
2291
  }
@@ -2251,7 +2297,7 @@ let me = class extends v {
2251
2297
  `;
2252
2298
  }
2253
2299
  };
2254
- me.styles = d`
2300
+ ye.styles = d`
2255
2301
  :host {
2256
2302
  display: block;
2257
2303
  font-family: var(--vox-font-family-base);
@@ -2286,18 +2332,18 @@ me.styles = d`
2286
2332
  border-bottom-color: var(--vox-color-brand-1);
2287
2333
  }
2288
2334
  `;
2289
- xo([
2335
+ vt([
2290
2336
  n()
2291
- ], me.prototype, "label", 2);
2292
- me = xo([
2337
+ ], ye.prototype, "label", 2);
2338
+ ye = vt([
2293
2339
  p("vox-subnav")
2294
- ], me);
2295
- var nt = Object.defineProperty, lt = Object.getOwnPropertyDescriptor, k = (t, o, a, r) => {
2296
- for (var e = r > 1 ? void 0 : r ? lt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2297
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2298
- return r && e && nt(o, a, e), e;
2340
+ ], ye);
2341
+ var io = Object.defineProperty, no = Object.getOwnPropertyDescriptor, j = (o, t, a, r) => {
2342
+ for (var e = r > 1 ? void 0 : r ? no(t, a) : t, s = o.length - 1, i; s >= 0; s--)
2343
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
2344
+ return r && e && io(t, a, e), e;
2299
2345
  };
2300
- let Ne = class extends v {
2346
+ let qe = class extends h {
2301
2347
  get tabs() {
2302
2348
  return [...this.querySelectorAll("vox-tab")];
2303
2349
  }
@@ -2305,28 +2351,35 @@ let Ne = class extends v {
2305
2351
  return [...this.querySelectorAll("vox-tab-panel")];
2306
2352
  }
2307
2353
  sync() {
2308
- const t = this.tabs;
2309
- t.length > 0 && !t.some((a) => a.selected) && (t[0].selected = !0);
2310
- const o = t.find((a) => a.selected);
2354
+ const o = this.tabs;
2355
+ o.length > 0 && !o.some((a) => a.selected) && (o[0].selected = !0);
2356
+ const t = o.find((a) => a.selected);
2311
2357
  this.panels.forEach((a) => {
2312
- a.active = a.name === (o == null ? void 0 : o.panel);
2358
+ a.active = a.name === (t == null ? void 0 : t.panel);
2313
2359
  });
2314
2360
  }
2315
- handleSelect(t) {
2316
- const o = t.target;
2317
- o.tagName === "VOX-TAB" && (this.tabs.forEach((a) => a.selected = a === o), this.sync(), this.dispatchEvent(
2361
+ handleSelect(o) {
2362
+ const t = o.target;
2363
+ t.tagName === "VOX-TAB" && (this.tabs.forEach((a) => a.selected = a === t), this.sync(), this.dispatchEvent(
2318
2364
  new CustomEvent("vox-tab-change", {
2319
- detail: { panel: o.panel },
2365
+ detail: { panel: t.panel },
2320
2366
  bubbles: !0,
2321
2367
  composed: !0
2322
2368
  })
2323
2369
  ));
2324
2370
  }
2325
- handleKeydown(t) {
2326
- const a = { ArrowRight: 1, ArrowLeft: -1 }[t.key];
2327
- if (!a) return;
2328
- t.preventDefault();
2329
- const r = this.tabs, e = r.findIndex((i) => i.selected), s = r[(e + a + r.length) % r.length];
2371
+ handleKeydown(o) {
2372
+ const t = this.tabs;
2373
+ if (o.key === "Home" || o.key === "End") {
2374
+ o.preventDefault();
2375
+ const i = t[o.key === "Home" ? 0 : t.length - 1];
2376
+ i.select(), i.focusTab();
2377
+ return;
2378
+ }
2379
+ const r = { ArrowRight: 1, ArrowLeft: -1 }[o.key];
2380
+ if (!r) return;
2381
+ o.preventDefault();
2382
+ const e = t.findIndex((i) => i.selected), s = t[(e + r + t.length) % t.length];
2330
2383
  s.select(), s.focusTab();
2331
2384
  }
2332
2385
  render() {
@@ -2343,7 +2396,7 @@ let Ne = class extends v {
2343
2396
  `;
2344
2397
  }
2345
2398
  };
2346
- Ne.styles = d`
2399
+ qe.styles = d`
2347
2400
  :host {
2348
2401
  display: block;
2349
2402
  }
@@ -2354,10 +2407,10 @@ Ne.styles = d`
2354
2407
  border-bottom: 1px solid var(--vox-color-divider);
2355
2408
  }
2356
2409
  `;
2357
- Ne = k([
2410
+ qe = j([
2358
2411
  p("vox-tabs")
2359
- ], Ne);
2360
- let U = class extends v {
2412
+ ], qe);
2413
+ let Q = class extends h {
2361
2414
  constructor() {
2362
2415
  super(...arguments), this.panel = "", this.selected = !1;
2363
2416
  }
@@ -2367,15 +2420,17 @@ let U = class extends v {
2367
2420
  );
2368
2421
  }
2369
2422
  focusTab() {
2370
- var t;
2371
- (t = this.renderRoot.querySelector(".tab")) == null || t.focus();
2423
+ var o;
2424
+ (o = this.renderRoot.querySelector(".tab")) == null || o.focus();
2372
2425
  }
2373
2426
  render() {
2374
2427
  return c`
2375
2428
  <button
2429
+ id="tab-${this.panel}"
2376
2430
  class="tab"
2377
2431
  role="tab"
2378
2432
  aria-selected=${this.selected ? "true" : "false"}
2433
+ aria-controls="panel-${this.panel}"
2379
2434
  tabindex=${this.selected ? "0" : "-1"}
2380
2435
  @click=${this.select}
2381
2436
  >
@@ -2384,7 +2439,7 @@ let U = class extends v {
2384
2439
  `;
2385
2440
  }
2386
2441
  };
2387
- U.styles = d`
2442
+ Q.styles = d`
2388
2443
  :host {
2389
2444
  display: block;
2390
2445
  font-family: var(--vox-font-family-base);
@@ -2419,24 +2474,33 @@ U.styles = d`
2419
2474
  border-bottom-color: var(--vox-color-brand-1);
2420
2475
  }
2421
2476
  `;
2422
- k([
2477
+ j([
2423
2478
  n()
2424
- ], U.prototype, "panel", 2);
2425
- k([
2479
+ ], Q.prototype, "panel", 2);
2480
+ j([
2426
2481
  n({ type: Boolean, reflect: !0 })
2427
- ], U.prototype, "selected", 2);
2428
- U = k([
2482
+ ], Q.prototype, "selected", 2);
2483
+ Q = j([
2429
2484
  p("vox-tab")
2430
- ], U);
2431
- let G = class extends v {
2485
+ ], Q);
2486
+ let W = class extends h {
2432
2487
  constructor() {
2433
2488
  super(...arguments), this.name = "", this.active = !1;
2434
2489
  }
2435
2490
  render() {
2436
- return c`<div role="tabpanel"><slot></slot></div>`;
2491
+ return c`
2492
+ <div
2493
+ id="panel-${this.name}"
2494
+ role="tabpanel"
2495
+ aria-labelledby="tab-${this.name}"
2496
+ tabindex="0"
2497
+ >
2498
+ <slot></slot>
2499
+ </div>
2500
+ `;
2437
2501
  }
2438
2502
  };
2439
- G.styles = d`
2503
+ W.styles = d`
2440
2504
  :host {
2441
2505
  display: none;
2442
2506
  font-family: var(--vox-font-family-base);
@@ -2449,22 +2513,28 @@ G.styles = d`
2449
2513
  :host([active]) {
2450
2514
  display: block;
2451
2515
  }
2516
+
2517
+ div:focus-visible {
2518
+ outline: 2px solid var(--vox-color-brand-1);
2519
+ outline-offset: 2px;
2520
+ border-radius: var(--vox-radius-sm);
2521
+ }
2452
2522
  `;
2453
- k([
2523
+ j([
2454
2524
  n()
2455
- ], G.prototype, "name", 2);
2456
- k([
2525
+ ], W.prototype, "name", 2);
2526
+ j([
2457
2527
  n({ type: Boolean, reflect: !0 })
2458
- ], G.prototype, "active", 2);
2459
- G = k([
2528
+ ], W.prototype, "active", 2);
2529
+ W = j([
2460
2530
  p("vox-tab-panel")
2461
- ], G);
2462
- var ct = Object.defineProperty, dt = Object.getOwnPropertyDescriptor, ve = (t, o, a, r) => {
2463
- for (var e = r > 1 ? void 0 : r ? dt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2464
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2465
- return r && e && ct(o, a, e), e;
2531
+ ], W);
2532
+ var lo = Object.defineProperty, co = Object.getOwnPropertyDescriptor, ve = (o, t, a, r) => {
2533
+ for (var e = r > 1 ? void 0 : r ? co(t, a) : t, s = o.length - 1, i; s >= 0; s--)
2534
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
2535
+ return r && e && lo(t, a, e), e;
2466
2536
  };
2467
- let ye = class extends v {
2537
+ let we = class extends h {
2468
2538
  constructor() {
2469
2539
  super(...arguments), this.heading = "On this page";
2470
2540
  }
@@ -2477,7 +2547,7 @@ let ye = class extends v {
2477
2547
  `;
2478
2548
  }
2479
2549
  };
2480
- ye.styles = d`
2550
+ we.styles = d`
2481
2551
  :host {
2482
2552
  display: block;
2483
2553
  font-family: var(--vox-font-family-base);
@@ -2500,17 +2570,17 @@ ye.styles = d`
2500
2570
  `;
2501
2571
  ve([
2502
2572
  n()
2503
- ], ye.prototype, "heading", 2);
2504
- ye = ve([
2573
+ ], we.prototype, "heading", 2);
2574
+ we = ve([
2505
2575
  p("vox-toc")
2506
- ], ye);
2507
- let X = class extends v {
2576
+ ], we);
2577
+ let Y = class extends h {
2508
2578
  constructor() {
2509
2579
  super(...arguments), this.href = "#", this.current = !1, this.hasChildren = !1;
2510
2580
  }
2511
- handleChildrenSlotChange(t) {
2512
- const o = t.target;
2513
- this.hasChildren = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
2581
+ handleChildrenSlotChange(o) {
2582
+ const t = o.target;
2583
+ this.hasChildren = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
2514
2584
  }
2515
2585
  render() {
2516
2586
  return c`
@@ -2523,7 +2593,7 @@ let X = class extends v {
2523
2593
  `;
2524
2594
  }
2525
2595
  };
2526
- X.styles = d`
2596
+ Y.styles = d`
2527
2597
  :host {
2528
2598
  display: block;
2529
2599
  font-family: var(--vox-font-family-base);
@@ -2571,19 +2641,19 @@ X.styles = d`
2571
2641
  `;
2572
2642
  ve([
2573
2643
  n()
2574
- ], X.prototype, "href", 2);
2644
+ ], Y.prototype, "href", 2);
2575
2645
  ve([
2576
2646
  n({ type: Boolean, reflect: !0 })
2577
- ], X.prototype, "current", 2);
2578
- X = ve([
2647
+ ], Y.prototype, "current", 2);
2648
+ Y = ve([
2579
2649
  p("vox-toc-item")
2580
- ], X);
2581
- var pt = Object.defineProperty, vt = Object.getOwnPropertyDescriptor, he = (t, o, a, r) => {
2582
- for (var e = r > 1 ? void 0 : r ? vt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2583
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2584
- return r && e && pt(o, a, e), e;
2650
+ ], Y);
2651
+ var po = Object.defineProperty, ho = Object.getOwnPropertyDescriptor, xe = (o, t, a, r) => {
2652
+ for (var e = r > 1 ? void 0 : r ? ho(t, a) : t, s = o.length - 1, i; s >= 0; s--)
2653
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
2654
+ return r && e && po(t, a, e), e;
2585
2655
  };
2586
- let _ = class extends v {
2656
+ let O = class extends h {
2587
2657
  constructor() {
2588
2658
  super(...arguments), this.heading = "", this.open = !1, this.lightDismiss = !1, this.hasFooter = !1;
2589
2659
  }
@@ -2601,22 +2671,22 @@ let _ = class extends v {
2601
2671
  new CustomEvent("vox-close", { bubbles: !0, composed: !0 })
2602
2672
  );
2603
2673
  }
2604
- handleClick(t) {
2605
- this.lightDismiss && t.target === this.dialogEl && this.close();
2674
+ handleClick(o) {
2675
+ this.lightDismiss && o.target === this.dialogEl && this.close();
2606
2676
  }
2607
- handleFooterSlotChange(t) {
2608
- const o = t.target;
2609
- this.hasFooter = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
2677
+ handleFooterSlotChange(o) {
2678
+ const t = o.target;
2679
+ this.hasFooter = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
2610
2680
  }
2611
2681
  render() {
2612
2682
  return c`
2613
2683
  <dialog
2614
- aria-label=${this.heading || h}
2684
+ aria-labelledby=${this.heading ? "heading" : v}
2615
2685
  @close=${this.handleNativeClose}
2616
2686
  @click=${this.handleClick}
2617
2687
  >
2618
2688
  <div class="header">
2619
- <h2 class="heading">${this.heading}</h2>
2689
+ <h2 class="heading" id="heading">${this.heading}</h2>
2620
2690
  <button class="close" aria-label="Close dialog" @click=${this.close}>
2621
2691
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true">
2622
2692
  <path d="M18 6 6 18M6 6l12 12" />
@@ -2631,7 +2701,7 @@ let _ = class extends v {
2631
2701
  `;
2632
2702
  }
2633
2703
  };
2634
- _.styles = d`
2704
+ O.styles = d`
2635
2705
  dialog {
2636
2706
  box-sizing: border-box;
2637
2707
  width: min(90vw, 480px);
@@ -2718,29 +2788,29 @@ _.styles = d`
2718
2788
  margin-bottom: 0;
2719
2789
  }
2720
2790
  `;
2721
- he([
2791
+ xe([
2722
2792
  n()
2723
- ], _.prototype, "heading", 2);
2724
- he([
2793
+ ], O.prototype, "heading", 2);
2794
+ xe([
2725
2795
  n({ type: Boolean })
2726
- ], _.prototype, "open", 2);
2727
- he([
2796
+ ], O.prototype, "open", 2);
2797
+ xe([
2728
2798
  n({ type: Boolean, attribute: "light-dismiss" })
2729
- ], _.prototype, "lightDismiss", 2);
2730
- he([
2799
+ ], O.prototype, "lightDismiss", 2);
2800
+ xe([
2731
2801
  Ze("dialog")
2732
- ], _.prototype, "dialogEl", 2);
2733
- _ = he([
2802
+ ], O.prototype, "dialogEl", 2);
2803
+ O = xe([
2734
2804
  p("vox-dialog")
2735
- ], _);
2736
- var ht = Object.defineProperty, xt = Object.getOwnPropertyDescriptor, We = (t, o, a, r) => {
2737
- for (var e = r > 1 ? void 0 : r ? xt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2738
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2739
- return r && e && ht(o, a, e), e;
2805
+ ], O);
2806
+ var vo = Object.defineProperty, xo = Object.getOwnPropertyDescriptor, We = (o, t, a, r) => {
2807
+ for (var e = r > 1 ? void 0 : r ? xo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
2808
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
2809
+ return r && e && vo(t, a, e), e;
2740
2810
  };
2741
- let Q = class extends v {
2811
+ let M = class extends h {
2742
2812
  constructor() {
2743
- super(...arguments), this.summary = "Show details", this.open = !1;
2813
+ super(...arguments), this.summary = "Show details", this.open = !1, this.panelId = `vox-disclosure-panel-${M.nextId++}`;
2744
2814
  }
2745
2815
  toggle() {
2746
2816
  this.open = !this.open, this.dispatchEvent(
@@ -2752,6 +2822,7 @@ let Q = class extends v {
2752
2822
  <button
2753
2823
  class="trigger"
2754
2824
  aria-expanded=${this.open ? "true" : "false"}
2825
+ aria-controls=${this.panelId}
2755
2826
  @click=${this.toggle}
2756
2827
  >
2757
2828
  <svg class="chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
@@ -2759,13 +2830,14 @@ let Q = class extends v {
2759
2830
  </svg>
2760
2831
  ${this.summary}
2761
2832
  </button>
2762
- <div class="panel" ?hidden=${!this.open}>
2833
+ <div id=${this.panelId} class="panel" ?hidden=${!this.open}>
2763
2834
  <slot></slot>
2764
2835
  </div>
2765
2836
  `;
2766
2837
  }
2767
2838
  };
2768
- Q.styles = d`
2839
+ M.nextId = 0;
2840
+ M.styles = d`
2769
2841
  :host {
2770
2842
  display: block;
2771
2843
  font-family: var(--vox-font-family-base);
@@ -2819,45 +2891,57 @@ Q.styles = d`
2819
2891
  `;
2820
2892
  We([
2821
2893
  n()
2822
- ], Q.prototype, "summary", 2);
2894
+ ], M.prototype, "summary", 2);
2823
2895
  We([
2824
2896
  n({ type: Boolean, reflect: !0 })
2825
- ], Q.prototype, "open", 2);
2826
- Q = We([
2897
+ ], M.prototype, "open", 2);
2898
+ M = We([
2827
2899
  p("vox-disclosure")
2828
- ], Q);
2829
- var ut = Object.defineProperty, ft = Object.getOwnPropertyDescriptor, Ye = (t, o, a, r) => {
2830
- for (var e = r > 1 ? void 0 : r ? ft(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2831
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2832
- return r && e && ut(o, a, e), e;
2900
+ ], M);
2901
+ var uo = Object.defineProperty, fo = Object.getOwnPropertyDescriptor, Ye = (o, t, a, r) => {
2902
+ for (var e = r > 1 ? void 0 : r ? fo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
2903
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
2904
+ return r && e && uo(t, a, e), e;
2833
2905
  };
2834
- let W = class extends v {
2906
+ let J = class extends h {
2835
2907
  constructor() {
2836
- super(...arguments), this.label = "Menu", this.open = !1, this.handleOutsideClick = (t) => {
2837
- this.open && !t.composedPath().includes(this) && (this.open = !1);
2838
- }, this.handleKeydown = (t) => {
2839
- var o;
2840
- if (t.key === "Escape" && this.open) {
2841
- this.open = !1, (o = this.renderRoot.querySelector(".trigger")) == null || o.focus();
2908
+ super(...arguments), this.label = "Menu", this.open = !1, this.handleOutsideClick = (o) => {
2909
+ this.open && !o.composedPath().includes(this) && (this.open = !1);
2910
+ }, this.handleFocusOut = (o) => {
2911
+ const t = o.relatedTarget;
2912
+ this.open && !(t && this.contains(t)) && (this.open = !1);
2913
+ }, this.handleKeydown = (o) => {
2914
+ var t;
2915
+ if (o.key === "Escape" && this.open) {
2916
+ this.open = !1, (t = this.renderRoot.querySelector(".trigger")) == null || t.focus();
2842
2917
  return;
2843
2918
  }
2844
- if ((t.key === "ArrowDown" || t.key === "ArrowUp") && this.open) {
2845
- t.preventDefault();
2846
- const a = [...this.querySelectorAll("a, button")];
2847
- if (a.length === 0) return;
2848
- const r = document.activeElement, e = a.indexOf(r), s = t.key === "ArrowDown" ? 1 : -1;
2849
- a[(Math.max(e, 0) + s + a.length) % a.length].focus();
2919
+ if (o.key === "ArrowDown" || o.key === "ArrowUp") {
2920
+ o.preventDefault();
2921
+ const a = o.key === "ArrowDown" ? 1 : -1;
2922
+ if (!this.open) {
2923
+ this.open = !0, this.updateComplete.then(
2924
+ () => this.focusItem(o.key === "ArrowDown" ? 0 : -1)
2925
+ );
2926
+ return;
2927
+ }
2928
+ const e = [...this.querySelectorAll("a, button")].indexOf(document.activeElement);
2929
+ this.focusItem(Math.max(e, 0) + a);
2850
2930
  }
2851
2931
  };
2852
2932
  }
2853
2933
  connectedCallback() {
2854
- super.connectedCallback(), document.addEventListener("click", this.handleOutsideClick), this.addEventListener("keydown", this.handleKeydown);
2934
+ super.connectedCallback(), document.addEventListener("click", this.handleOutsideClick), this.addEventListener("keydown", this.handleKeydown), this.addEventListener("focusout", this.handleFocusOut);
2855
2935
  }
2856
2936
  disconnectedCallback() {
2857
- super.disconnectedCallback(), document.removeEventListener("click", this.handleOutsideClick), this.removeEventListener("keydown", this.handleKeydown);
2937
+ super.disconnectedCallback(), document.removeEventListener("click", this.handleOutsideClick), this.removeEventListener("keydown", this.handleKeydown), this.removeEventListener("focusout", this.handleFocusOut);
2938
+ }
2939
+ focusItem(o) {
2940
+ const t = [...this.querySelectorAll("a, button")];
2941
+ t.length !== 0 && t[(o + t.length) % t.length].focus();
2858
2942
  }
2859
2943
  toggle() {
2860
- this.open = !this.open;
2944
+ this.open = !this.open, this.open && this.updateComplete.then(() => this.focusItem(0));
2861
2945
  }
2862
2946
  render() {
2863
2947
  return c`
@@ -2865,6 +2949,7 @@ let W = class extends v {
2865
2949
  class="trigger"
2866
2950
  aria-expanded=${this.open ? "true" : "false"}
2867
2951
  aria-haspopup="true"
2952
+ aria-controls="menu"
2868
2953
  @click=${this.toggle}
2869
2954
  >
2870
2955
  ${this.label}
@@ -2872,13 +2957,13 @@ let W = class extends v {
2872
2957
  <path d="m6 9 6 6 6-6" />
2873
2958
  </svg>
2874
2959
  </button>
2875
- <div class="menu">
2960
+ <div id="menu" class="menu">
2876
2961
  <slot @click=${() => this.open = !1}></slot>
2877
2962
  </div>
2878
2963
  `;
2879
2964
  }
2880
2965
  };
2881
- W.styles = d`
2966
+ J.styles = d`
2882
2967
  :host {
2883
2968
  position: relative;
2884
2969
  display: inline-block;
@@ -2979,28 +3064,28 @@ W.styles = d`
2979
3064
  `;
2980
3065
  Ye([
2981
3066
  n()
2982
- ], W.prototype, "label", 2);
3067
+ ], J.prototype, "label", 2);
2983
3068
  Ye([
2984
3069
  n({ type: Boolean, reflect: !0 })
2985
- ], W.prototype, "open", 2);
2986
- W = Ye([
3070
+ ], J.prototype, "open", 2);
3071
+ J = Ye([
2987
3072
  p("vox-dropdown")
2988
- ], W);
2989
- var gt = Object.defineProperty, bt = Object.getOwnPropertyDescriptor, xe = (t, o, a, r) => {
2990
- for (var e = r > 1 ? void 0 : r ? bt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2991
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2992
- return r && e && gt(o, a, e), e;
3073
+ ], J);
3074
+ var go = Object.defineProperty, bo = Object.getOwnPropertyDescriptor, ue = (o, t, a, r) => {
3075
+ for (var e = r > 1 ? void 0 : r ? bo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3076
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3077
+ return r && e && go(t, a, e), e;
2993
3078
  };
2994
- let we = class extends v {
3079
+ let $e = class extends h {
2995
3080
  constructor() {
2996
3081
  super(...arguments), this.single = !1;
2997
3082
  }
2998
- handleToggle(t) {
3083
+ handleToggle(o) {
2999
3084
  if (!this.single) return;
3000
- const o = t.target;
3001
- o.open && this.querySelectorAll("vox-accordion-item").forEach(
3085
+ const t = o.target;
3086
+ t.open && this.querySelectorAll("vox-accordion-item").forEach(
3002
3087
  (a) => {
3003
- a !== o && (a.open = !1);
3088
+ a !== t && (a.open = !1);
3004
3089
  }
3005
3090
  );
3006
3091
  }
@@ -3008,7 +3093,7 @@ let we = class extends v {
3008
3093
  return c`<slot @vox-toggle=${this.handleToggle}></slot>`;
3009
3094
  }
3010
3095
  };
3011
- we.styles = d`
3096
+ $e.styles = d`
3012
3097
  :host {
3013
3098
  display: block;
3014
3099
  border: 1px solid var(--vox-color-divider);
@@ -3020,15 +3105,15 @@ we.styles = d`
3020
3105
  border-top: 1px solid var(--vox-color-divider);
3021
3106
  }
3022
3107
  `;
3023
- xe([
3108
+ ue([
3024
3109
  n({ type: Boolean })
3025
- ], we.prototype, "single", 2);
3026
- we = xe([
3110
+ ], $e.prototype, "single", 2);
3111
+ $e = ue([
3027
3112
  p("vox-accordion")
3028
- ], we);
3029
- let Y = class extends v {
3113
+ ], $e);
3114
+ let k = class extends h {
3030
3115
  constructor() {
3031
- super(...arguments), this.heading = "", this.open = !1;
3116
+ super(...arguments), this.heading = "", this.open = !1, this.panelId = `vox-accordion-panel-${k.nextId++}`;
3032
3117
  }
3033
3118
  toggle() {
3034
3119
  this.open = !this.open, this.dispatchEvent(
@@ -3041,6 +3126,7 @@ let Y = class extends v {
3041
3126
  <button
3042
3127
  class="trigger"
3043
3128
  aria-expanded=${this.open ? "true" : "false"}
3129
+ aria-controls=${this.panelId}
3044
3130
  @click=${this.toggle}
3045
3131
  >
3046
3132
  ${this.heading}
@@ -3049,13 +3135,14 @@ let Y = class extends v {
3049
3135
  </svg>
3050
3136
  </button>
3051
3137
  </h3>
3052
- <div class="panel" ?hidden=${!this.open}>
3138
+ <div id=${this.panelId} class="panel" ?hidden=${!this.open}>
3053
3139
  <slot></slot>
3054
3140
  </div>
3055
3141
  `;
3056
3142
  }
3057
3143
  };
3058
- Y.styles = d`
3144
+ k.nextId = 0;
3145
+ k.styles = d`
3059
3146
  :host {
3060
3147
  display: block;
3061
3148
  font-family: var(--vox-font-family-base);
@@ -3117,27 +3204,27 @@ Y.styles = d`
3117
3204
  margin-bottom: 0;
3118
3205
  }
3119
3206
  `;
3120
- xe([
3207
+ ue([
3121
3208
  n()
3122
- ], Y.prototype, "heading", 2);
3123
- xe([
3209
+ ], k.prototype, "heading", 2);
3210
+ ue([
3124
3211
  n({ type: Boolean, reflect: !0 })
3125
- ], Y.prototype, "open", 2);
3126
- Y = xe([
3212
+ ], k.prototype, "open", 2);
3213
+ k = ue([
3127
3214
  p("vox-accordion-item")
3128
- ], Y);
3129
- var mt = Object.defineProperty, yt = Object.getOwnPropertyDescriptor, ue = (t, o, a, r) => {
3130
- for (var e = r > 1 ? void 0 : r ? yt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3131
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3132
- return r && e && mt(o, a, e), e;
3215
+ ], k);
3216
+ var mo = Object.defineProperty, yo = Object.getOwnPropertyDescriptor, fe = (o, t, a, r) => {
3217
+ for (var e = r > 1 ? void 0 : r ? yo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3218
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3219
+ return r && e && mo(t, a, e), e;
3133
3220
  };
3134
- const wt = {
3221
+ const wo = {
3135
3222
  info: "info",
3136
3223
  success: "check-circle",
3137
3224
  warning: "warning",
3138
3225
  danger: "x-circle"
3139
3226
  };
3140
- let C = class extends v {
3227
+ let L = class extends h {
3141
3228
  constructor() {
3142
3229
  super(...arguments), this.variant = "info", this.heading = "", this.dismissible = !1, this.open = !0;
3143
3230
  }
@@ -3147,8 +3234,12 @@ let C = class extends v {
3147
3234
  );
3148
3235
  }
3149
3236
  render() {
3237
+ const o = this.variant === "danger" || this.variant === "warning";
3150
3238
  return c`
3151
- <div class="alert ${this.variant}" role="alert">
3239
+ <div
3240
+ class="alert ${this.variant}"
3241
+ role=${o ? "alert" : "status"}
3242
+ >
3152
3243
  <svg
3153
3244
  class="icon"
3154
3245
  viewBox="0 0 48 48"
@@ -3159,10 +3250,10 @@ let C = class extends v {
3159
3250
  stroke-linejoin="round"
3160
3251
  aria-hidden="true"
3161
3252
  >
3162
- ${m[wt[this.variant]]}
3253
+ ${y[wo[this.variant]]}
3163
3254
  </svg>
3164
3255
  <div class="body">
3165
- ${this.heading ? c`<p class="heading">${this.heading}</p>` : h}
3256
+ ${this.heading ? c`<p class="heading">${this.heading}</p>` : v}
3166
3257
  <slot></slot>
3167
3258
  </div>
3168
3259
  ${this.dismissible ? c`
@@ -3171,12 +3262,12 @@ let C = class extends v {
3171
3262
  <path d="M18 6 6 18M6 6l12 12" />
3172
3263
  </svg>
3173
3264
  </button>
3174
- ` : h}
3265
+ ` : v}
3175
3266
  </div>
3176
3267
  `;
3177
3268
  }
3178
3269
  };
3179
- C.styles = d`
3270
+ L.styles = d`
3180
3271
  :host {
3181
3272
  display: block;
3182
3273
  font-family: var(--vox-font-family-base);
@@ -3295,27 +3386,27 @@ C.styles = d`
3295
3386
  margin-bottom: 0;
3296
3387
  }
3297
3388
  `;
3298
- ue([
3389
+ fe([
3299
3390
  n()
3300
- ], C.prototype, "variant", 2);
3301
- ue([
3391
+ ], L.prototype, "variant", 2);
3392
+ fe([
3302
3393
  n()
3303
- ], C.prototype, "heading", 2);
3304
- ue([
3394
+ ], L.prototype, "heading", 2);
3395
+ fe([
3305
3396
  n({ type: Boolean })
3306
- ], C.prototype, "dismissible", 2);
3307
- ue([
3397
+ ], L.prototype, "dismissible", 2);
3398
+ fe([
3308
3399
  n({ type: Boolean, reflect: !0 })
3309
- ], C.prototype, "open", 2);
3310
- C = ue([
3400
+ ], L.prototype, "open", 2);
3401
+ L = fe([
3311
3402
  p("vox-alert")
3312
- ], C);
3313
- var $t = Object.defineProperty, _t = Object.getOwnPropertyDescriptor, uo = (t, o, a, r) => {
3314
- for (var e = r > 1 ? void 0 : r ? _t(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3315
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3316
- return r && e && $t(o, a, e), e;
3403
+ ], L);
3404
+ var $o = Object.defineProperty, _o = Object.getOwnPropertyDescriptor, xt = (o, t, a, r) => {
3405
+ for (var e = r > 1 ? void 0 : r ? _o(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3406
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3407
+ return r && e && $o(t, a, e), e;
3317
3408
  };
3318
- let $e = class extends v {
3409
+ let _e = class extends h {
3319
3410
  constructor() {
3320
3411
  super(...arguments), this.variant = "brand";
3321
3412
  }
@@ -3323,7 +3414,7 @@ let $e = class extends v {
3323
3414
  return c`<span class="badge ${this.variant}"><slot></slot></span>`;
3324
3415
  }
3325
3416
  };
3326
- $e.styles = d`
3417
+ _e.styles = d`
3327
3418
  :host {
3328
3419
  display: inline-block;
3329
3420
  }
@@ -3365,23 +3456,23 @@ $e.styles = d`
3365
3456
  color: var(--vox-color-text-2);
3366
3457
  }
3367
3458
  `;
3368
- uo([
3459
+ xt([
3369
3460
  n()
3370
- ], $e.prototype, "variant", 2);
3371
- $e = uo([
3461
+ ], _e.prototype, "variant", 2);
3462
+ _e = xt([
3372
3463
  p("vox-badge")
3373
- ], $e);
3374
- var Ct = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, Je = (t, o, a, r) => {
3375
- for (var e = r > 1 ? void 0 : r ? Mt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3376
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3377
- return r && e && Ct(o, a, e), e;
3464
+ ], _e);
3465
+ var Co = Object.defineProperty, Oo = Object.getOwnPropertyDescriptor, Je = (o, t, a, r) => {
3466
+ for (var e = r > 1 ? void 0 : r ? Oo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3467
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3468
+ return r && e && Co(t, a, e), e;
3378
3469
  };
3379
- let J = class extends v {
3470
+ let ee = class extends h {
3380
3471
  constructor() {
3381
3472
  super(...arguments), this.date = "";
3382
3473
  }
3383
3474
  render() {
3384
- const t = /* @__PURE__ */ new Date(`${this.date}T00:00:00`), o = !Number.isNaN(t.getTime()), a = o ? t.toLocaleString(this.locale, { month: "short" }) : "—", r = o ? t.getDate() : "–";
3475
+ const o = /* @__PURE__ */ new Date(`${this.date}T00:00:00`), t = !Number.isNaN(o.getTime()), a = t ? o.toLocaleString(this.locale, { month: "short" }) : "—", r = t ? o.getDate() : "–";
3385
3476
  return c`
3386
3477
  <time class="tile" datetime=${this.date}>
3387
3478
  <span class="month">${a}</span>
@@ -3390,7 +3481,7 @@ let J = class extends v {
3390
3481
  `;
3391
3482
  }
3392
3483
  };
3393
- J.styles = d`
3484
+ ee.styles = d`
3394
3485
  :host {
3395
3486
  display: inline-block;
3396
3487
  font-family: var(--vox-font-family-base);
@@ -3428,30 +3519,30 @@ J.styles = d`
3428
3519
  `;
3429
3520
  Je([
3430
3521
  n()
3431
- ], J.prototype, "date", 2);
3522
+ ], ee.prototype, "date", 2);
3432
3523
  Je([
3433
3524
  n()
3434
- ], J.prototype, "locale", 2);
3435
- J = Je([
3525
+ ], ee.prototype, "locale", 2);
3526
+ ee = Je([
3436
3527
  p("vox-calendar-tile")
3437
- ], J);
3438
- var Ot = Object.defineProperty, kt = Object.getOwnPropertyDescriptor, eo = (t, o, a, r) => {
3439
- for (var e = r > 1 ? void 0 : r ? kt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3440
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3441
- return r && e && Ot(o, a, e), e;
3528
+ ], ee);
3529
+ var Mo = Object.defineProperty, ko = Object.getOwnPropertyDescriptor, et = (o, t, a, r) => {
3530
+ for (var e = r > 1 ? void 0 : r ? ko(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3531
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3532
+ return r && e && Mo(t, a, e), e;
3442
3533
  };
3443
- const Lt = {
3534
+ const Lo = {
3444
3535
  info: "Info",
3445
3536
  tip: "Tip",
3446
3537
  warning: "Warning",
3447
3538
  danger: "Danger"
3448
- }, Pt = {
3539
+ }, Po = {
3449
3540
  info: "info",
3450
3541
  tip: "check-circle",
3451
3542
  warning: "warning",
3452
3543
  danger: "x-circle"
3453
3544
  };
3454
- let ee = class extends v {
3545
+ let te = class extends h {
3455
3546
  constructor() {
3456
3547
  super(...arguments), this.variant = "info";
3457
3548
  }
@@ -3468,17 +3559,17 @@ let ee = class extends v {
3468
3559
  stroke-linejoin="round"
3469
3560
  aria-hidden="true"
3470
3561
  >
3471
- ${m[Pt[this.variant]]}
3562
+ ${y[Po[this.variant]]}
3472
3563
  </svg>
3473
3564
  <div class="content">
3474
- <p class="heading">${this.heading ?? Lt[this.variant]}</p>
3565
+ <p class="heading">${this.heading ?? Lo[this.variant]}</p>
3475
3566
  <slot></slot>
3476
3567
  </div>
3477
3568
  </div>
3478
3569
  `;
3479
3570
  }
3480
3571
  };
3481
- ee.styles = d`
3572
+ te.styles = d`
3482
3573
  :host {
3483
3574
  display: block;
3484
3575
  }
@@ -3561,42 +3652,42 @@ ee.styles = d`
3561
3652
  margin-bottom: 0;
3562
3653
  }
3563
3654
  `;
3564
- eo([
3655
+ et([
3565
3656
  n()
3566
- ], ee.prototype, "variant", 2);
3567
- eo([
3657
+ ], te.prototype, "variant", 2);
3658
+ et([
3568
3659
  n()
3569
- ], ee.prototype, "heading", 2);
3570
- ee = eo([
3660
+ ], te.prototype, "heading", 2);
3661
+ te = et([
3571
3662
  p("vox-callout")
3572
- ], ee);
3573
- var Vt = Object.defineProperty, jt = Object.getOwnPropertyDescriptor, ze = (t, o, a, r) => {
3574
- for (var e = r > 1 ? void 0 : r ? jt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3575
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3576
- return r && e && Vt(o, a, e), e;
3663
+ ], te);
3664
+ var Vo = Object.defineProperty, jo = Object.getOwnPropertyDescriptor, ze = (o, t, a, r) => {
3665
+ for (var e = r > 1 ? void 0 : r ? jo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3666
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3667
+ return r && e && Vo(t, a, e), e;
3577
3668
  };
3578
- let E = class extends v {
3669
+ let I = class extends h {
3579
3670
  constructor() {
3580
3671
  super(...arguments), this.heading = "", this.hasIcon = !1, this.hasBadge = !1, this.hasFooter = !1;
3581
3672
  }
3582
- handleIconSlotChange(t) {
3583
- const o = t.target;
3584
- this.hasIcon = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3673
+ handleIconSlotChange(o) {
3674
+ const t = o.target;
3675
+ this.hasIcon = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3585
3676
  }
3586
- handleBadgeSlotChange(t) {
3587
- const o = t.target;
3588
- this.hasBadge = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3677
+ handleBadgeSlotChange(o) {
3678
+ const t = o.target;
3679
+ this.hasBadge = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3589
3680
  }
3590
- handleFooterSlotChange(t) {
3591
- const o = t.target;
3592
- this.hasFooter = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3681
+ handleFooterSlotChange(o) {
3682
+ const t = o.target;
3683
+ this.hasFooter = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3593
3684
  }
3594
3685
  render() {
3595
- const t = c`
3686
+ const o = c`
3596
3687
  <div class="badge ${this.hasBadge ? "has-badge" : ""}">
3597
3688
  <slot name="badge" @slotchange=${this.handleBadgeSlotChange}></slot>
3598
3689
  </div>
3599
- <div class="icon ${this.hasIcon ? "has-icon" : ""}">
3690
+ <div class="icon ${this.hasIcon ? "has-icon" : ""}" aria-hidden="true">
3600
3691
  <slot name="icon" @slotchange=${this.handleIconSlotChange}></slot>
3601
3692
  </div>
3602
3693
  <h3 class="heading">${this.heading}</h3>
@@ -3605,10 +3696,10 @@ let E = class extends v {
3605
3696
  <slot name="footer" @slotchange=${this.handleFooterSlotChange}></slot>
3606
3697
  </div>
3607
3698
  `;
3608
- return this.href !== void 0 ? c`<a class="card" href=${this.href} target=${this.target ?? h}>${t}</a>` : c`<div class="card">${t}</div>`;
3699
+ return this.href !== void 0 ? c`<a class="card" href=${this.href} target=${this.target ?? v}>${o}</a>` : c`<div class="card">${o}</div>`;
3609
3700
  }
3610
3701
  };
3611
- E.styles = d`
3702
+ I.styles = d`
3612
3703
  :host {
3613
3704
  display: block;
3614
3705
  }
@@ -3695,37 +3786,37 @@ E.styles = d`
3695
3786
  `;
3696
3787
  ze([
3697
3788
  n()
3698
- ], E.prototype, "heading", 2);
3789
+ ], I.prototype, "heading", 2);
3699
3790
  ze([
3700
3791
  n()
3701
- ], E.prototype, "href", 2);
3792
+ ], I.prototype, "href", 2);
3702
3793
  ze([
3703
3794
  n()
3704
- ], E.prototype, "target", 2);
3705
- E = ze([
3795
+ ], I.prototype, "target", 2);
3796
+ I = ze([
3706
3797
  p("vox-card")
3707
- ], E);
3708
- var Dt = Object.defineProperty, zt = Object.getOwnPropertyDescriptor, fo = (t, o, a, r) => {
3709
- for (var e = r > 1 ? void 0 : r ? zt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3710
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3711
- return r && e && Dt(o, a, e), e;
3798
+ ], I);
3799
+ var Do = Object.defineProperty, zo = Object.getOwnPropertyDescriptor, ut = (o, t, a, r) => {
3800
+ for (var e = r > 1 ? void 0 : r ? zo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3801
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3802
+ return r && e && Do(t, a, e), e;
3712
3803
  };
3713
- let _e = class extends v {
3804
+ let Ce = class extends h {
3714
3805
  constructor() {
3715
3806
  super(...arguments), this.heading = "", this.hasBody = !1, this.hasActions = !1;
3716
3807
  }
3717
- handleBodySlotChange(t) {
3718
- const o = t.target;
3719
- this.hasBody = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3808
+ handleBodySlotChange(o) {
3809
+ const t = o.target;
3810
+ this.hasBody = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3720
3811
  }
3721
- handleActionsSlotChange(t) {
3722
- const o = t.target;
3723
- this.hasActions = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3812
+ handleActionsSlotChange(o) {
3813
+ const t = o.target;
3814
+ this.hasActions = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3724
3815
  }
3725
3816
  render() {
3726
3817
  return c`
3727
3818
  <div class="band">
3728
- ${this.heading ? c`<h2 class="heading">${this.heading}</h2>` : h}
3819
+ ${this.heading ? c`<h2 class="heading">${this.heading}</h2>` : v}
3729
3820
  <div class="body ${this.hasBody ? "has-content" : ""}">
3730
3821
  <slot @slotchange=${this.handleBodySlotChange}></slot>
3731
3822
  </div>
@@ -3736,7 +3827,7 @@ let _e = class extends v {
3736
3827
  `;
3737
3828
  }
3738
3829
  };
3739
- _e.styles = d`
3830
+ Ce.styles = d`
3740
3831
  :host {
3741
3832
  display: block;
3742
3833
  font-family: var(--vox-font-family-base);
@@ -3791,25 +3882,25 @@ _e.styles = d`
3791
3882
  display: none;
3792
3883
  }
3793
3884
  `;
3794
- fo([
3885
+ ut([
3795
3886
  n()
3796
- ], _e.prototype, "heading", 2);
3797
- _e = fo([
3887
+ ], Ce.prototype, "heading", 2);
3888
+ Ce = ut([
3798
3889
  p("vox-cta-band")
3799
- ], _e);
3800
- var Ht = Object.defineProperty, Et = Object.getOwnPropertyDescriptor, go = (t, o, a, r) => {
3801
- for (var e = r > 1 ? void 0 : r ? Et(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3802
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3803
- return r && e && Ht(o, a, e), e;
3890
+ ], Ce);
3891
+ var Eo = Object.defineProperty, Ho = Object.getOwnPropertyDescriptor, ft = (o, t, a, r) => {
3892
+ for (var e = r > 1 ? void 0 : r ? Ho(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3893
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3894
+ return r && e && Eo(t, a, e), e;
3804
3895
  };
3805
- let Ce = class extends v {
3896
+ let Oe = class extends h {
3806
3897
  constructor() {
3807
3898
  super(...arguments), this.heading = "";
3808
3899
  }
3809
3900
  render() {
3810
3901
  return c`
3811
3902
  <div class="empty">
3812
- <div class="icon"><slot name="icon"></slot></div>
3903
+ <div class="icon" aria-hidden="true"><slot name="icon"></slot></div>
3813
3904
  <h3 class="heading">${this.heading}</h3>
3814
3905
  <div class="body"><slot></slot></div>
3815
3906
  <div class="actions"><slot name="actions"></slot></div>
@@ -3817,7 +3908,7 @@ let Ce = class extends v {
3817
3908
  `;
3818
3909
  }
3819
3910
  };
3820
- Ce.styles = d`
3911
+ Oe.styles = d`
3821
3912
  :host {
3822
3913
  display: block;
3823
3914
  font-family: var(--vox-font-family-base);
@@ -3861,18 +3952,18 @@ Ce.styles = d`
3861
3952
  margin-top: var(--vox-space-4);
3862
3953
  }
3863
3954
  `;
3864
- go([
3955
+ ft([
3865
3956
  n()
3866
- ], Ce.prototype, "heading", 2);
3867
- Ce = go([
3957
+ ], Oe.prototype, "heading", 2);
3958
+ Oe = ft([
3868
3959
  p("vox-empty-state")
3869
- ], Ce);
3870
- var St = Object.defineProperty, At = Object.getOwnPropertyDescriptor, oo = (t, o, a, r) => {
3871
- for (var e = r > 1 ? void 0 : r ? At(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3872
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3873
- return r && e && St(o, a, e), e;
3960
+ ], Oe);
3961
+ var So = Object.defineProperty, Ao = Object.getOwnPropertyDescriptor, tt = (o, t, a, r) => {
3962
+ for (var e = r > 1 ? void 0 : r ? Ao(t, a) : t, s = o.length - 1, i; s >= 0; s--)
3963
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
3964
+ return r && e && So(t, a, e), e;
3874
3965
  };
3875
- let Ie = class extends v {
3966
+ let Ne = class extends h {
3876
3967
  render() {
3877
3968
  return c`
3878
3969
  <footer>
@@ -3884,7 +3975,7 @@ let Ie = class extends v {
3884
3975
  `;
3885
3976
  }
3886
3977
  };
3887
- Ie.styles = d`
3978
+ Ne.styles = d`
3888
3979
  :host {
3889
3980
  display: block;
3890
3981
  font-family: var(--vox-font-family-base);
@@ -3912,10 +4003,10 @@ Ie.styles = d`
3912
4003
  color: var(--vox-color-text-3);
3913
4004
  }
3914
4005
  `;
3915
- Ie = oo([
4006
+ Ne = tt([
3916
4007
  p("vox-footer")
3917
- ], Ie);
3918
- let Me = class extends v {
4008
+ ], Ne);
4009
+ let Me = class extends h {
3919
4010
  constructor() {
3920
4011
  super(...arguments), this.heading = "";
3921
4012
  }
@@ -3958,18 +4049,18 @@ Me.styles = d`
3958
4049
  text-decoration: underline;
3959
4050
  }
3960
4051
  `;
3961
- oo([
4052
+ tt([
3962
4053
  n()
3963
4054
  ], Me.prototype, "heading", 2);
3964
- Me = oo([
4055
+ Me = tt([
3965
4056
  p("vox-footer-column")
3966
4057
  ], Me);
3967
- var Bt = Object.defineProperty, qt = Object.getOwnPropertyDescriptor, He = (t, o, a, r) => {
3968
- for (var e = r > 1 ? void 0 : r ? qt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3969
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3970
- return r && e && Bt(o, a, e), e;
4058
+ var Io = Object.defineProperty, Bo = Object.getOwnPropertyDescriptor, Ee = (o, t, a, r) => {
4059
+ for (var e = r > 1 ? void 0 : r ? Bo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4060
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4061
+ return r && e && Io(t, a, e), e;
3971
4062
  };
3972
- let S = class extends v {
4063
+ let B = class extends h {
3973
4064
  constructor() {
3974
4065
  super(...arguments), this.cols = 0, this.min = "240px", this.gap = "md";
3975
4066
  }
@@ -3980,7 +4071,7 @@ let S = class extends v {
3980
4071
  return c`<slot></slot>`;
3981
4072
  }
3982
4073
  };
3983
- S.styles = d`
4074
+ B.styles = d`
3984
4075
  :host {
3985
4076
  display: grid;
3986
4077
  }
@@ -3997,35 +4088,35 @@ S.styles = d`
3997
4088
  gap: var(--vox-space-6);
3998
4089
  }
3999
4090
  `;
4000
- He([
4091
+ Ee([
4001
4092
  n({ type: Number })
4002
- ], S.prototype, "cols", 2);
4003
- He([
4093
+ ], B.prototype, "cols", 2);
4094
+ Ee([
4004
4095
  n()
4005
- ], S.prototype, "min", 2);
4006
- He([
4096
+ ], B.prototype, "min", 2);
4097
+ Ee([
4007
4098
  n({ reflect: !0 })
4008
- ], S.prototype, "gap", 2);
4009
- S = He([
4099
+ ], B.prototype, "gap", 2);
4100
+ B = Ee([
4010
4101
  p("vox-grid")
4011
- ], S);
4012
- var Nt = Object.defineProperty, It = Object.getOwnPropertyDescriptor, to = (t, o, a, r) => {
4013
- for (var e = r > 1 ? void 0 : r ? It(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4014
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4015
- return r && e && Nt(o, a, e), e;
4102
+ ], B);
4103
+ var qo = Object.defineProperty, No = Object.getOwnPropertyDescriptor, ot = (o, t, a, r) => {
4104
+ for (var e = r > 1 ? void 0 : r ? No(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4105
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4106
+ return r && e && qo(t, a, e), e;
4016
4107
  };
4017
- let oe = class extends v {
4108
+ let oe = class extends h {
4018
4109
  constructor() {
4019
4110
  super(...arguments), this.eyebrow = "", this.heading = "", this.hasActions = !1;
4020
4111
  }
4021
- handleActionsSlotChange(t) {
4022
- const o = t.target;
4023
- this.hasActions = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
4112
+ handleActionsSlotChange(o) {
4113
+ const t = o.target;
4114
+ this.hasActions = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
4024
4115
  }
4025
4116
  render() {
4026
4117
  return c`
4027
4118
  <header class="hero">
4028
- ${this.eyebrow ? c`<p class="eyebrow">${this.eyebrow}</p>` : h}
4119
+ ${this.eyebrow ? c`<p class="eyebrow">${this.eyebrow}</p>` : v}
4029
4120
  <h1 class="heading">${this.heading}</h1>
4030
4121
  <div class="body"><slot></slot></div>
4031
4122
  <div class="actions ${this.hasActions ? "has-content" : ""}">
@@ -4092,21 +4183,21 @@ oe.styles = d`
4092
4183
  display: none;
4093
4184
  }
4094
4185
  `;
4095
- to([
4186
+ ot([
4096
4187
  n()
4097
4188
  ], oe.prototype, "eyebrow", 2);
4098
- to([
4189
+ ot([
4099
4190
  n()
4100
4191
  ], oe.prototype, "heading", 2);
4101
- oe = to([
4192
+ oe = ot([
4102
4193
  p("vox-hero")
4103
4194
  ], oe);
4104
- var Tt = Object.defineProperty, Rt = Object.getOwnPropertyDescriptor, Ee = (t, o, a, r) => {
4105
- for (var e = r > 1 ? void 0 : r ? Rt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4106
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4107
- return r && e && Tt(o, a, e), e;
4195
+ var To = Object.defineProperty, Fo = Object.getOwnPropertyDescriptor, He = (o, t, a, r) => {
4196
+ for (var e = r > 1 ? void 0 : r ? Fo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4197
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4198
+ return r && e && To(t, a, e), e;
4108
4199
  };
4109
- let Te = class extends v {
4200
+ let Te = class extends h {
4110
4201
  render() {
4111
4202
  return c`<slot></slot>`;
4112
4203
  }
@@ -4118,22 +4209,22 @@ Te.styles = d`
4118
4209
  gap: var(--vox-space-4);
4119
4210
  }
4120
4211
  `;
4121
- Te = Ee([
4212
+ Te = He([
4122
4213
  p("vox-link-hub")
4123
4214
  ], Te);
4124
- let te = class extends v {
4215
+ let re = class extends h {
4125
4216
  constructor() {
4126
4217
  super(...arguments), this.href = "#", this.heading = "", this.hasIcon = !1;
4127
4218
  }
4128
- handleIconSlotChange(t) {
4129
- const o = t.target;
4130
- this.hasIcon = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
4219
+ handleIconSlotChange(o) {
4220
+ const t = o.target;
4221
+ this.hasIcon = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
4131
4222
  }
4132
4223
  render() {
4133
4224
  return c`
4134
4225
  <a href=${this.href}>
4135
4226
  <span class="heading">
4136
- <span class="icon ${this.hasIcon ? "has-icon" : ""}">
4227
+ <span class="icon ${this.hasIcon ? "has-icon" : ""}" aria-hidden="true">
4137
4228
  <slot name="icon" @slotchange=${this.handleIconSlotChange}></slot>
4138
4229
  </span>
4139
4230
  ${this.heading}
@@ -4147,7 +4238,7 @@ let te = class extends v {
4147
4238
  `;
4148
4239
  }
4149
4240
  };
4150
- te.styles = d`
4241
+ re.styles = d`
4151
4242
  :host {
4152
4243
  display: block;
4153
4244
  font-family: var(--vox-font-family-base);
@@ -4208,21 +4299,21 @@ te.styles = d`
4208
4299
  color: var(--vox-color-text-2);
4209
4300
  }
4210
4301
  `;
4211
- Ee([
4302
+ He([
4212
4303
  n()
4213
- ], te.prototype, "href", 2);
4214
- Ee([
4304
+ ], re.prototype, "href", 2);
4305
+ He([
4215
4306
  n()
4216
- ], te.prototype, "heading", 2);
4217
- te = Ee([
4307
+ ], re.prototype, "heading", 2);
4308
+ re = He([
4218
4309
  p("vox-link-hub-item")
4219
- ], te);
4220
- var Ft = Object.defineProperty, Zt = Object.getOwnPropertyDescriptor, ro = (t, o, a, r) => {
4221
- for (var e = r > 1 ? void 0 : r ? Zt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4222
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4223
- return r && e && Ft(o, a, e), e;
4310
+ ], re);
4311
+ var Ro = Object.defineProperty, Zo = Object.getOwnPropertyDescriptor, rt = (o, t, a, r) => {
4312
+ for (var e = r > 1 ? void 0 : r ? Zo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4313
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4314
+ return r && e && Ro(t, a, e), e;
4224
4315
  };
4225
- let re = class extends v {
4316
+ let ae = class extends h {
4226
4317
  constructor() {
4227
4318
  super(...arguments), this.size = "md", this.label = "Loading";
4228
4319
  }
@@ -4235,7 +4326,7 @@ let re = class extends v {
4235
4326
  `;
4236
4327
  }
4237
4328
  };
4238
- re.styles = d`
4329
+ ae.styles = d`
4239
4330
  :host {
4240
4331
  display: inline-block;
4241
4332
  }
@@ -4288,21 +4379,21 @@ re.styles = d`
4288
4379
  white-space: nowrap;
4289
4380
  }
4290
4381
  `;
4291
- ro([
4382
+ rt([
4292
4383
  n({ reflect: !0 })
4293
- ], re.prototype, "size", 2);
4294
- ro([
4384
+ ], ae.prototype, "size", 2);
4385
+ rt([
4295
4386
  n()
4296
- ], re.prototype, "label", 2);
4297
- re = ro([
4387
+ ], ae.prototype, "label", 2);
4388
+ ae = rt([
4298
4389
  p("vox-loader")
4299
- ], re);
4300
- var Kt = Object.defineProperty, Ut = Object.getOwnPropertyDescriptor, bo = (t, o, a, r) => {
4301
- for (var e = r > 1 ? void 0 : r ? Ut(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4302
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4303
- return r && e && Kt(o, a, e), e;
4390
+ ], ae);
4391
+ var Uo = Object.defineProperty, Ko = Object.getOwnPropertyDescriptor, gt = (o, t, a, r) => {
4392
+ for (var e = r > 1 ? void 0 : r ? Ko(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4393
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4394
+ return r && e && Uo(t, a, e), e;
4304
4395
  };
4305
- let Oe = class extends v {
4396
+ let ke = class extends h {
4306
4397
  constructor() {
4307
4398
  super(...arguments), this.label = "Pagination";
4308
4399
  }
@@ -4314,7 +4405,7 @@ let Oe = class extends v {
4314
4405
  `;
4315
4406
  }
4316
4407
  };
4317
- Oe.styles = d`
4408
+ ke.styles = d`
4318
4409
  :host {
4319
4410
  display: block;
4320
4411
  font-family: var(--vox-font-family-base);
@@ -4326,7 +4417,8 @@ Oe.styles = d`
4326
4417
  flex-wrap: wrap;
4327
4418
  }
4328
4419
 
4329
- ::slotted(a) {
4420
+ ::slotted(a),
4421
+ ::slotted(span) {
4330
4422
  display: inline-flex;
4331
4423
  align-items: center;
4332
4424
  justify-content: center;
@@ -4348,24 +4440,24 @@ Oe.styles = d`
4348
4440
  background-color: var(--vox-color-brand-soft);
4349
4441
  }
4350
4442
 
4351
- ::slotted(a[aria-current='page']) {
4443
+ ::slotted([aria-current='page']) {
4352
4444
  background-color: var(--vox-color-brand-3);
4353
4445
  color: var(--vox-color-text-inverse);
4354
4446
  font-weight: 600;
4355
4447
  }
4356
4448
  `;
4357
- bo([
4449
+ gt([
4358
4450
  n()
4359
- ], Oe.prototype, "label", 2);
4360
- Oe = bo([
4451
+ ], ke.prototype, "label", 2);
4452
+ ke = gt([
4361
4453
  p("vox-pagination")
4362
- ], Oe);
4363
- var Gt = Object.defineProperty, Xt = Object.getOwnPropertyDescriptor, ao = (t, o, a, r) => {
4364
- for (var e = r > 1 ? void 0 : r ? Xt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4365
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4366
- return r && e && Gt(o, a, e), e;
4454
+ ], ke);
4455
+ var Go = Object.defineProperty, Xo = Object.getOwnPropertyDescriptor, at = (o, t, a, r) => {
4456
+ for (var e = r > 1 ? void 0 : r ? Xo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4457
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4458
+ return r && e && Go(t, a, e), e;
4367
4459
  };
4368
- let ae = class extends v {
4460
+ let se = class extends h {
4369
4461
  constructor() {
4370
4462
  super(...arguments), this.attribution = "", this.detail = "";
4371
4463
  }
@@ -4376,14 +4468,14 @@ let ae = class extends v {
4376
4468
  ${this.attribution ? c`
4377
4469
  <footer>
4378
4470
  <span class="attribution">${this.attribution}</span>
4379
- ${this.detail ? c`<span class="detail"> — ${this.detail}</span>` : h}
4471
+ ${this.detail ? c`<span class="detail"> — ${this.detail}</span>` : v}
4380
4472
  </footer>
4381
- ` : h}
4473
+ ` : v}
4382
4474
  </blockquote>
4383
4475
  `;
4384
4476
  }
4385
4477
  };
4386
- ae.styles = d`
4478
+ se.styles = d`
4387
4479
  :host {
4388
4480
  display: block;
4389
4481
  font-family: var(--vox-font-family-base);
@@ -4425,27 +4517,27 @@ ae.styles = d`
4425
4517
  color: var(--vox-color-text-2);
4426
4518
  }
4427
4519
  `;
4428
- ao([
4520
+ at([
4429
4521
  n()
4430
- ], ae.prototype, "attribution", 2);
4431
- ao([
4522
+ ], se.prototype, "attribution", 2);
4523
+ at([
4432
4524
  n()
4433
- ], ae.prototype, "detail", 2);
4434
- ae = ao([
4525
+ ], se.prototype, "detail", 2);
4526
+ se = at([
4435
4527
  p("vox-quote")
4436
- ], ae);
4437
- var Qt = Object.defineProperty, Wt = Object.getOwnPropertyDescriptor, L = (t, o, a, r) => {
4438
- for (var e = r > 1 ? void 0 : r ? Wt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4439
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4440
- return r && e && Qt(o, a, e), e;
4528
+ ], se);
4529
+ var Qo = Object.defineProperty, Wo = Object.getOwnPropertyDescriptor, D = (o, t, a, r) => {
4530
+ for (var e = r > 1 ? void 0 : r ? Wo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4531
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4532
+ return r && e && Qo(t, a, e), e;
4441
4533
  };
4442
- let ke = class extends v {
4534
+ let Le = class extends h {
4443
4535
  constructor() {
4444
4536
  super(...arguments), this.heading = "", this.hasDescription = !1;
4445
4537
  }
4446
- handleDescriptionSlotChange(t) {
4447
- const o = t.target;
4448
- this.hasDescription = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
4538
+ handleDescriptionSlotChange(o) {
4539
+ const t = o.target;
4540
+ this.hasDescription = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
4449
4541
  }
4450
4542
  render() {
4451
4543
  return c`
@@ -4462,7 +4554,7 @@ let ke = class extends v {
4462
4554
  `;
4463
4555
  }
4464
4556
  };
4465
- ke.styles = d`
4557
+ Le.styles = d`
4466
4558
  :host {
4467
4559
  display: block;
4468
4560
  font-family: var(--vox-font-family-base);
@@ -4494,24 +4586,24 @@ ke.styles = d`
4494
4586
  margin-top: var(--vox-space-6);
4495
4587
  }
4496
4588
  `;
4497
- L([
4589
+ D([
4498
4590
  n()
4499
- ], ke.prototype, "heading", 2);
4500
- ke = L([
4591
+ ], Le.prototype, "heading", 2);
4592
+ Le = D([
4501
4593
  p("vox-sponsor-tier")
4502
- ], ke);
4503
- let M = class extends v {
4594
+ ], Le);
4595
+ let P = class extends h {
4504
4596
  constructor() {
4505
4597
  super(...arguments), this.name = "", this.hasBody = !1;
4506
4598
  }
4507
- handleBodySlotChange(t) {
4508
- const o = t.target;
4509
- this.hasBody = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
4599
+ handleBodySlotChange(o) {
4600
+ const t = o.target;
4601
+ this.hasBody = t.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
4510
4602
  }
4511
4603
  render() {
4512
- const t = c`
4604
+ const o = c`
4513
4605
  <div class="logo ${this.logo ? "has-logo" : ""}">
4514
- ${this.logo ? c`<img src=${this.logo} alt=${this.name} />` : h}
4606
+ ${this.logo ? c`<img src=${this.logo} alt=${this.name} />` : v}
4515
4607
  </div>
4516
4608
  <span class="name">${this.name}</span>
4517
4609
  <div class="body ${this.hasBody ? "has-content" : ""}">
@@ -4521,12 +4613,12 @@ let M = class extends v {
4521
4613
  return this.href !== void 0 ? c`<a
4522
4614
  class="sponsor"
4523
4615
  href=${this.href}
4524
- target=${this.target ?? h}
4525
- >${t}</a
4526
- >` : c`<div class="sponsor">${t}</div>`;
4616
+ target=${this.target ?? v}
4617
+ >${o}</a
4618
+ >` : c`<div class="sponsor">${o}</div>`;
4527
4619
  }
4528
4620
  };
4529
- M.styles = d`
4621
+ P.styles = d`
4530
4622
  :host {
4531
4623
  display: block;
4532
4624
  }
@@ -4592,27 +4684,27 @@ M.styles = d`
4592
4684
  display: none;
4593
4685
  }
4594
4686
  `;
4595
- L([
4687
+ D([
4596
4688
  n()
4597
- ], M.prototype, "name", 2);
4598
- L([
4689
+ ], P.prototype, "name", 2);
4690
+ D([
4599
4691
  n()
4600
- ], M.prototype, "href", 2);
4601
- L([
4692
+ ], P.prototype, "href", 2);
4693
+ D([
4602
4694
  n()
4603
- ], M.prototype, "logo", 2);
4604
- L([
4695
+ ], P.prototype, "logo", 2);
4696
+ D([
4605
4697
  n()
4606
- ], M.prototype, "target", 2);
4607
- M = L([
4698
+ ], P.prototype, "target", 2);
4699
+ P = D([
4608
4700
  p("vox-sponsor")
4609
- ], M);
4610
- var Yt = Object.defineProperty, Jt = Object.getOwnPropertyDescriptor, so = (t, o, a, r) => {
4611
- for (var e = r > 1 ? void 0 : r ? Jt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4612
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4613
- return r && e && Yt(o, a, e), e;
4701
+ ], P);
4702
+ var Yo = Object.defineProperty, Jo = Object.getOwnPropertyDescriptor, st = (o, t, a, r) => {
4703
+ for (var e = r > 1 ? void 0 : r ? Jo(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4704
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4705
+ return r && e && Yo(t, a, e), e;
4614
4706
  };
4615
- let se = class extends v {
4707
+ let ie = class extends h {
4616
4708
  constructor() {
4617
4709
  super(...arguments), this.value = "", this.label = "";
4618
4710
  }
@@ -4624,7 +4716,7 @@ let se = class extends v {
4624
4716
  `;
4625
4717
  }
4626
4718
  };
4627
- se.styles = d`
4719
+ ie.styles = d`
4628
4720
  :host {
4629
4721
  display: block;
4630
4722
  font-family: var(--vox-font-family-base);
@@ -4651,24 +4743,24 @@ se.styles = d`
4651
4743
  color: var(--vox-color-text-2);
4652
4744
  }
4653
4745
  `;
4654
- so([
4746
+ st([
4655
4747
  n()
4656
- ], se.prototype, "value", 2);
4657
- so([
4748
+ ], ie.prototype, "value", 2);
4749
+ st([
4658
4750
  n()
4659
- ], se.prototype, "label", 2);
4660
- se = so([
4751
+ ], ie.prototype, "label", 2);
4752
+ ie = st([
4661
4753
  p("vox-stat")
4662
- ], se);
4663
- var er = Object.defineProperty, or = Object.getOwnPropertyDescriptor, fe = (t, o, a, r) => {
4664
- for (var e = r > 1 ? void 0 : r ? or(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4665
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4666
- return r && e && er(o, a, e), e;
4754
+ ], ie);
4755
+ var er = Object.defineProperty, tr = Object.getOwnPropertyDescriptor, ge = (o, t, a, r) => {
4756
+ for (var e = r > 1 ? void 0 : r ? tr(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4757
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4758
+ return r && e && er(t, a, e), e;
4667
4759
  };
4668
- let Re = class extends v {
4760
+ let Fe = class extends h {
4669
4761
  numberSteps() {
4670
- this.querySelectorAll("vox-step").forEach((t, o) => {
4671
- t.number = o + 1;
4762
+ this.querySelectorAll("vox-step").forEach((o, t) => {
4763
+ o.number = t + 1;
4672
4764
  });
4673
4765
  }
4674
4766
  render() {
@@ -4679,7 +4771,7 @@ let Re = class extends v {
4679
4771
  `;
4680
4772
  }
4681
4773
  };
4682
- Re.styles = d`
4774
+ Fe.styles = d`
4683
4775
  :host {
4684
4776
  display: block;
4685
4777
  }
@@ -4693,10 +4785,10 @@ Re.styles = d`
4693
4785
  flex: 1 1 0;
4694
4786
  }
4695
4787
  `;
4696
- Re = fe([
4788
+ Fe = ge([
4697
4789
  p("vox-step-indicator")
4698
- ], Re);
4699
- let A = class extends v {
4790
+ ], Fe);
4791
+ let q = class extends h {
4700
4792
  constructor() {
4701
4793
  super(...arguments), this.label = "", this.state = "upcoming", this.number = 1;
4702
4794
  }
@@ -4712,12 +4804,15 @@ let A = class extends v {
4712
4804
  <path d="m4 12 5 5L20 6" />
4713
4805
  </svg>` : this.number}
4714
4806
  </span>
4715
- <span class="label">${this.label}</span>
4807
+ <span class="label">
4808
+ ${this.label}
4809
+ ${this.state !== "current" ? c`<span class="visually-hidden"> (${this.state})</span>` : v}
4810
+ </span>
4716
4811
  </div>
4717
4812
  `;
4718
4813
  }
4719
4814
  };
4720
- A.styles = d`
4815
+ q.styles = d`
4721
4816
  :host {
4722
4817
  display: block;
4723
4818
  font-family: var(--vox-font-family-base);
@@ -4790,38 +4885,47 @@ A.styles = d`
4790
4885
  font-weight: 600;
4791
4886
  color: var(--vox-color-text-1);
4792
4887
  }
4888
+
4889
+ .visually-hidden {
4890
+ position: absolute;
4891
+ width: 1px;
4892
+ height: 1px;
4893
+ overflow: hidden;
4894
+ clip: rect(0 0 0 0);
4895
+ white-space: nowrap;
4896
+ }
4793
4897
  `;
4794
- fe([
4898
+ ge([
4795
4899
  n()
4796
- ], A.prototype, "label", 2);
4797
- fe([
4900
+ ], q.prototype, "label", 2);
4901
+ ge([
4798
4902
  n({ reflect: !0 })
4799
- ], A.prototype, "state", 2);
4800
- fe([
4903
+ ], q.prototype, "state", 2);
4904
+ ge([
4801
4905
  n({ type: Number })
4802
- ], A.prototype, "number", 2);
4803
- A = fe([
4906
+ ], q.prototype, "number", 2);
4907
+ q = ge([
4804
4908
  p("vox-step")
4805
- ], A);
4806
- var tr = Object.defineProperty, rr = Object.getOwnPropertyDescriptor, Se = (t, o, a, r) => {
4807
- for (var e = r > 1 ? void 0 : r ? rr(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4808
- (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4809
- return r && e && tr(o, a, e), e;
4909
+ ], q);
4910
+ var or = Object.defineProperty, rr = Object.getOwnPropertyDescriptor, Se = (o, t, a, r) => {
4911
+ for (var e = r > 1 ? void 0 : r ? rr(t, a) : t, s = o.length - 1, i; s >= 0; s--)
4912
+ (i = o[s]) && (e = (r ? i(t, a, e) : i(e)) || e);
4913
+ return r && e && or(t, a, e), e;
4810
4914
  };
4811
- let Fe = class extends v {
4915
+ let Re = class extends h {
4812
4916
  render() {
4813
4917
  return c`<slot></slot>`;
4814
4918
  }
4815
4919
  };
4816
- Fe.styles = d`
4920
+ Re.styles = d`
4817
4921
  :host {
4818
4922
  display: block;
4819
4923
  }
4820
4924
  `;
4821
- Fe = Se([
4925
+ Re = Se([
4822
4926
  p("vox-timeline")
4823
- ], Fe);
4824
- let ie = class extends v {
4927
+ ], Re);
4928
+ let ne = class extends h {
4825
4929
  constructor() {
4826
4930
  super(...arguments), this.heading = "", this.date = "";
4827
4931
  }
@@ -4829,14 +4933,14 @@ let ie = class extends v {
4829
4933
  return c`
4830
4934
  <div class="item">
4831
4935
  <span class="dot" aria-hidden="true"></span>
4832
- ${this.date ? c`<div class="date">${this.date}</div>` : h}
4936
+ ${this.date ? c`<div class="date">${this.date}</div>` : v}
4833
4937
  <h3 class="heading">${this.heading}</h3>
4834
4938
  <div class="body"><slot></slot></div>
4835
4939
  </div>
4836
4940
  `;
4837
4941
  }
4838
4942
  };
4839
- ie.styles = d`
4943
+ ne.styles = d`
4840
4944
  :host {
4841
4945
  display: block;
4842
4946
  font-family: var(--vox-font-family-base);
@@ -4888,67 +4992,67 @@ ie.styles = d`
4888
4992
  `;
4889
4993
  Se([
4890
4994
  n()
4891
- ], ie.prototype, "heading", 2);
4995
+ ], ne.prototype, "heading", 2);
4892
4996
  Se([
4893
4997
  n()
4894
- ], ie.prototype, "date", 2);
4895
- ie = Se([
4998
+ ], ne.prototype, "date", 2);
4999
+ ne = Se([
4896
5000
  p("vox-timeline-item")
4897
- ], ie);
5001
+ ], ne);
4898
5002
  export {
4899
- we as VoxAccordion,
4900
- Y as VoxAccordionItem,
4901
- C as VoxAlert,
4902
- w as VoxAvatar,
4903
- $e as VoxBadge,
4904
- F as VoxBillboard,
4905
- qe as VoxBreadcrumbs,
4906
- f as VoxButton,
4907
- J as VoxCalendarTile,
4908
- ee as VoxCallout,
4909
- E as VoxCard,
4910
- I as VoxCheckbox,
4911
- N as VoxCta,
4912
- _e as VoxCtaBand,
4913
- _ as VoxDialog,
4914
- Q as VoxDisclosure,
4915
- W as VoxDropdown,
4916
- Ce as VoxEmptyState,
4917
- g as VoxFileInput,
4918
- Ie as VoxFooter,
5003
+ $e as VoxAccordion,
5004
+ k as VoxAccordionItem,
5005
+ L as VoxAlert,
5006
+ $ as VoxAvatar,
5007
+ _e as VoxBadge,
5008
+ G as VoxBillboard,
5009
+ Be as VoxBreadcrumbs,
5010
+ g as VoxButton,
5011
+ ee as VoxCalendarTile,
5012
+ te as VoxCallout,
5013
+ I as VoxCard,
5014
+ Z as VoxCheckbox,
5015
+ R as VoxCta,
5016
+ Ce as VoxCtaBand,
5017
+ O as VoxDialog,
5018
+ M as VoxDisclosure,
5019
+ J as VoxDropdown,
5020
+ Oe as VoxEmptyState,
5021
+ b as VoxFileInput,
5022
+ Ne as VoxFooter,
4919
5023
  Me as VoxFooterColumn,
4920
- S as VoxGrid,
4921
- z as VoxHeader,
5024
+ B as VoxGrid,
5025
+ S as VoxHeader,
4922
5026
  oe as VoxHero,
4923
- j as VoxIcon,
4924
- b as VoxInput,
4925
- Be as VoxInputGroup,
5027
+ E as VoxIcon,
5028
+ m as VoxInput,
5029
+ Ie as VoxInputGroup,
4926
5030
  Te as VoxLinkHub,
4927
- te as VoxLinkHubItem,
4928
- re as VoxLoader,
4929
- Oe as VoxPagination,
4930
- ae as VoxQuote,
4931
- D as VoxRadio,
4932
- be as VoxRadioGroup,
4933
- T as VoxSelect,
4934
- $ as VoxSeriesNav,
4935
- H as VoxSidenav,
4936
- Z as VoxSidenavGroup,
4937
- K as VoxSidenavItem,
4938
- M as VoxSponsor,
4939
- ke as VoxSponsorTier,
4940
- se as VoxStat,
4941
- A as VoxStep,
4942
- Re as VoxStepIndicator,
4943
- me as VoxSubnav,
4944
- R as VoxSwitch,
4945
- U as VoxTab,
4946
- G as VoxTabPanel,
4947
- Ne as VoxTabs,
4948
- y as VoxTextarea,
4949
- V as VoxThemeToggle,
4950
- Fe as VoxTimeline,
4951
- ie as VoxTimelineItem,
4952
- ye as VoxToc,
4953
- X as VoxTocItem
5031
+ re as VoxLinkHubItem,
5032
+ ae as VoxLoader,
5033
+ ke as VoxPagination,
5034
+ se as VoxQuote,
5035
+ H as VoxRadio,
5036
+ me as VoxRadioGroup,
5037
+ U as VoxSelect,
5038
+ _ as VoxSeriesNav,
5039
+ A as VoxSidenav,
5040
+ C as VoxSidenavGroup,
5041
+ X as VoxSidenavItem,
5042
+ P as VoxSponsor,
5043
+ Le as VoxSponsorTier,
5044
+ ie as VoxStat,
5045
+ q as VoxStep,
5046
+ Fe as VoxStepIndicator,
5047
+ ye as VoxSubnav,
5048
+ K as VoxSwitch,
5049
+ Q as VoxTab,
5050
+ W as VoxTabPanel,
5051
+ qe as VoxTabs,
5052
+ w as VoxTextarea,
5053
+ z as VoxThemeToggle,
5054
+ Re as VoxTimeline,
5055
+ ne as VoxTimelineItem,
5056
+ we as VoxToc,
5057
+ Y as VoxTocItem
4954
5058
  };