@openvoxproject/voxblocks 0.9.0 → 0.10.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.
package/dist/voxblocks.js CHANGED
@@ -1,40 +1,40 @@
1
- import { css as c, LitElement as v, html as l, nothing as p } from "lit";
2
- import { property as n, customElement as d, state as to, query as qe } from "lit/decorators.js";
3
- import { classMap as po } from "lit/directives/class-map.js";
4
- import { ifDefined as j } from "lit/directives/if-defined.js";
5
- import { live as ro } from "lit/directives/live.js";
6
- var ho = Object.defineProperty, xo = Object.getOwnPropertyDescriptor, O = (t, o, a, r) => {
7
- for (var e = r > 1 ? void 0 : r ? xo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
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
8
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
9
- return r && e && ho(o, a, e), e;
9
+ return r && e && yo(o, a, e), e;
10
10
  };
11
- let x = class extends v {
11
+ let f = class extends v {
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 = po({
16
+ const t = mo({
17
17
  button: !0,
18
18
  [this.variant]: !0,
19
19
  [this.size]: !0
20
20
  });
21
- return this.href !== void 0 && !this.disabled ? l`
21
+ return this.href !== void 0 && !this.disabled ? c`
22
22
  <a
23
23
  class=${t}
24
24
  href=${this.href}
25
- target=${j(this.target)}
26
- rel=${j(this.target === "_blank" ? "noreferrer" : void 0)}
25
+ target=${P(this.target)}
26
+ rel=${P(this.target === "_blank" ? "noreferrer" : void 0)}
27
27
  >
28
28
  <slot></slot>
29
29
  </a>
30
- ` : l`
30
+ ` : c`
31
31
  <button class=${t} type=${this.type} ?disabled=${this.disabled}>
32
32
  <slot></slot>
33
33
  </button>
34
34
  `;
35
35
  }
36
36
  };
37
- x.styles = c`
37
+ f.styles = d`
38
38
  :host {
39
39
  display: inline-block;
40
40
  }
@@ -144,36 +144,36 @@ x.styles = c`
144
144
  `;
145
145
  O([
146
146
  n()
147
- ], x.prototype, "variant", 2);
147
+ ], f.prototype, "variant", 2);
148
148
  O([
149
149
  n()
150
- ], x.prototype, "size", 2);
150
+ ], f.prototype, "size", 2);
151
151
  O([
152
152
  n()
153
- ], x.prototype, "href", 2);
153
+ ], f.prototype, "href", 2);
154
154
  O([
155
155
  n()
156
- ], x.prototype, "target", 2);
156
+ ], f.prototype, "target", 2);
157
157
  O([
158
158
  n()
159
- ], x.prototype, "type", 2);
159
+ ], f.prototype, "type", 2);
160
160
  O([
161
161
  n({ type: Boolean, reflect: !0 })
162
- ], x.prototype, "disabled", 2);
163
- x = O([
164
- d("vox-button")
165
- ], x);
166
- var uo = Object.defineProperty, fo = Object.getOwnPropertyDescriptor, Le = (t, o, a, r) => {
167
- for (var e = r > 1 ? void 0 : r ? fo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
162
+ ], f.prototype, "disabled", 2);
163
+ f = O([
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
168
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
169
- return r && e && uo(o, a, e), e;
169
+ return r && e && $o(o, a, e), e;
170
170
  };
171
- let A = class extends v {
171
+ let N = class extends v {
172
172
  constructor() {
173
173
  super(...arguments), this.href = "#";
174
174
  }
175
175
  render() {
176
- return l`
176
+ return c`
177
177
  <a href=${this.href} target=${this.target ?? ""}>
178
178
  <slot></slot>
179
179
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
@@ -184,7 +184,7 @@ let A = class extends v {
184
184
  `;
185
185
  }
186
186
  };
187
- A.styles = c`
187
+ N.styles = d`
188
188
  :host {
189
189
  display: inline-block;
190
190
  font-family: var(--vox-font-family-base);
@@ -221,31 +221,31 @@ A.styles = c`
221
221
  transform: translateX(3px);
222
222
  }
223
223
  `;
224
- Le([
224
+ Ke([
225
225
  n()
226
- ], A.prototype, "href", 2);
227
- Le([
226
+ ], N.prototype, "href", 2);
227
+ Ke([
228
228
  n()
229
- ], A.prototype, "target", 2);
230
- A = Le([
231
- d("vox-cta")
232
- ], A);
233
- var bo = Object.defineProperty, go = Object.getOwnPropertyDescriptor, $e = (t, o, a, r) => {
234
- for (var e = r > 1 ? void 0 : r ? go(o, a) : o, s = t.length - 1, i; s >= 0; s--)
229
+ ], N.prototype, "target", 2);
230
+ N = Ke([
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
235
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
236
- return r && e && bo(o, a, e), e;
236
+ return r && e && Co(o, a, e), e;
237
237
  };
238
- const oo = "vox-theme", ve = "data-vox-theme";
239
- let D = class extends v {
238
+ const co = "vox-theme", ge = "data-vox-theme";
239
+ let V = class extends v {
240
240
  constructor() {
241
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(oo) || document.documentElement.setAttribute(ve, t.matches ? "dark" : "light");
242
+ localStorage.getItem(co) || document.documentElement.setAttribute(ge, t.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: [ve]
248
+ attributeFilter: [ge]
249
249
  }), this.media.addEventListener("change", this.handleSystemChange);
250
250
  }
251
251
  disconnectedCallback() {
@@ -253,12 +253,12 @@ let D = class extends v {
253
253
  super.disconnectedCallback(), (t = this.observer) == null || t.disconnect(), this.media.removeEventListener("change", this.handleSystemChange);
254
254
  }
255
255
  syncFromDocument() {
256
- const t = document.documentElement.getAttribute(ve) === "dark";
256
+ const t = document.documentElement.getAttribute(ge) === "dark";
257
257
  this.dark = t, this.toggleAttribute("dark", t);
258
258
  }
259
259
  handleClick() {
260
260
  const t = this.dark ? "light" : "dark";
261
- document.documentElement.setAttribute(ve, t), localStorage.setItem(oo, t), this.dispatchEvent(
261
+ document.documentElement.setAttribute(ge, t), localStorage.setItem(co, t), this.dispatchEvent(
262
262
  new CustomEvent("vox-theme-change", {
263
263
  detail: { theme: t },
264
264
  bubbles: !0,
@@ -268,7 +268,7 @@ let D = class extends v {
268
268
  }
269
269
  render() {
270
270
  const t = this.dark ? this.darkLabel : this.lightLabel;
271
- return l`
271
+ return c`
272
272
  <button
273
273
  type="button"
274
274
  role="switch"
@@ -291,7 +291,7 @@ let D = class extends v {
291
291
  `;
292
292
  }
293
293
  };
294
- D.styles = c`
294
+ V.styles = d`
295
295
  :host {
296
296
  display: inline-flex;
297
297
  }
@@ -350,24 +350,183 @@ D.styles = c`
350
350
  transform: translateX(20px);
351
351
  }
352
352
  `;
353
- $e([
353
+ Pe([
354
354
  n({ attribute: "light-label" })
355
- ], D.prototype, "lightLabel", 2);
356
- $e([
355
+ ], V.prototype, "lightLabel", 2);
356
+ Pe([
357
357
  n({ attribute: "dark-label" })
358
- ], D.prototype, "darkLabel", 2);
359
- $e([
360
- to()
361
- ], D.prototype, "dark", 2);
362
- D = $e([
363
- d("vox-theme-toggle")
364
- ], D);
365
- var mo = Object.defineProperty, te = (t, o, a, r) => {
358
+ ], V.prototype, "darkLabel", 2);
359
+ Pe([
360
+ Le()
361
+ ], V.prototype, "dark", 2);
362
+ V = Pe([
363
+ p("vox-theme-toggle")
364
+ ], V);
365
+ const m = {
366
+ // Phase 1: shared UI baseline -----------------------------------------
367
+ search: l`<circle cx="21" cy="21" r="13"/><path d="M30.5 30.5 L41 41"/>`,
368
+ close: l`<path d="M14 14 L34 34 M34 14 L14 34"/>`,
369
+ menu: l`<path d="M8 14 H40 M8 24 H40 M8 34 H40"/>`,
370
+ "chevron-up": l`<path d="M14 28 L24 18 L34 28"/>`,
371
+ "chevron-down": l`<path d="M14 20 L24 30 L34 20"/>`,
372
+ "chevron-left": l`<path d="M28 14 L18 24 L28 34"/>`,
373
+ "chevron-right": l`<path d="M20 14 L30 24 L20 34"/>`,
374
+ "external-link": l`<path d="M36 26 V38 A4 4 0 0 1 32 42 H10 A4 4 0 0 1 6 38 V16 A4 4 0 0 1 10 12 H22"/><path d="M30 6 H42 V18"/><path d="M20 28 L42 6"/>`,
375
+ copy: l`<rect x="8" y="14" width="24" height="24" rx="3"/><path d="M16 14 V10 A2 2 0 0 1 18 8 H38 A2 2 0 0 1 40 10 V30 A2 2 0 0 1 38 32 H34"/>`,
376
+ check: l`<path d="M10 25 L20 35 L38 13"/>`,
377
+ warning: l`<path d="M24 8 L44 40 H4 Z"/><path d="M24 20 V28"/><circle cx="24" cy="34" r="1.6" fill="currentColor" stroke="none"/>`,
378
+ info: l`<circle cx="24" cy="24" r="17"/><path d="M24 22 V33"/><circle cx="24" cy="15.5" r="1.8" fill="currentColor" stroke="none"/>`,
379
+ add: l`<path d="M24 10 V38 M10 24 H38"/>`,
380
+ remove: l`<path d="M10 24 H38"/>`,
381
+ edit: l`<path d="M30 8 L40 18 L18 40 L7 41 L8 30 Z"/><path d="M26 12 L36 22"/>`,
382
+ delete: l`<path d="M10 14 H38"/><path d="M17 14 V9 A2 2 0 0 1 19 7 H29 A2 2 0 0 1 31 9 V14"/><path d="M13 14 L15 40 A2 2 0 0 0 17 42 H31 A2 2 0 0 0 33 40 L35 14"/><path d="M20 21 V35 M28 21 V35"/>`,
383
+ filter: l`<path d="M6 10 H42 L28 26 V38 L20 42 V26 Z"/>`,
384
+ sort: l`<path d="M14 30 V10 M14 10 L8 16 M14 10 L20 16"/><path d="M34 18 V38 M34 38 L28 32 M34 38 L40 32"/>`,
385
+ calendar: l`<rect x="6" y="10" width="36" height="32" rx="3"/><path d="M6 20 H42"/><path d="M15 6 V14 M33 6 V14"/><circle cx="15" cy="28" r="1.6" fill="currentColor" stroke="none"/><circle cx="24" cy="28" r="1.6" fill="currentColor" stroke="none"/><circle cx="33" cy="28" r="1.6" fill="currentColor" stroke="none"/>`,
386
+ clock: l`<circle cx="24" cy="24" r="17"/><path d="M24 14 V24 L32 29"/>`,
387
+ person: l`<circle cx="24" cy="16" r="8"/><path d="M8 42 C8 31 15 26 24 26 C33 26 40 31 40 42"/>`,
388
+ people: l`<circle cx="17" cy="16" r="7"/><circle cx="33" cy="18" r="6"/><path d="M4 41 C4 31 10 27 17 27 C21 27 24 28.3 26.3 30.5"/><path d="M24 41 C24 32 29 28 37 28 C43 28 44 32 44 41"/>`,
389
+ lock: l`<rect x="10" y="21" width="28" height="21" rx="3"/><path d="M16 21 V15 A8 8 0 0 1 32 15 V21"/><circle cx="24" cy="31" r="2.2" fill="currentColor" stroke="none"/>`,
390
+ eye: l`<path d="M4 24 C10 12 20 8 24 8 C28 8 38 12 44 24 C38 36 28 40 24 40 C20 40 10 36 4 24 Z"/><circle cx="24" cy="24" r="6"/>`,
391
+ "eye-slash": l`<path d="M4 24 C10 12 20 8 24 8 C28 8 38 12 44 24 C38 36 28 40 24 40 C20 40 10 36 4 24 Z"/><circle cx="24" cy="24" r="6"/><path d="M6 6 L42 42"/>`,
392
+ refresh: l`<path d="M46 8 L46 20 L34 20"/><path d="M2 40 L2 28 L14 28"/><path d="M7.02 18 A18 18 0 0 1 36.72 11.28 L46 20"/><path d="M2 28 L11.28 36.72 A18 18 0 0 0 40.98 30"/>`,
393
+ // Phase 2: OpenVox marketing site --------------------------------------
394
+ community: l`<circle cx="24" cy="10" r="5"/><circle cx="10" cy="34" r="5"/><circle cx="38" cy="34" r="5"/><path d="M24 15 L14 30 M24 15 L34 30 M15 34 H33"/>`,
395
+ book: l`<path d="M24 12 C20 8 12 7 6 9 V37 C12 35 20 36 24 40 C28 36 36 35 42 37 V9 C36 7 28 8 24 12 Z"/><path d="M24 12 V40"/>`,
396
+ terminal: l`<rect x="6" y="9" width="36" height="30" rx="3"/><path d="M14 19 L21 24 L14 29"/><path d="M25 30 H33"/>`,
397
+ shield: l`<path d="M24 6 L40 12 V22 C40 33 33 40 24 43 C15 40 8 33 8 22 V12 Z"/><path d="M17 23 L22 28 L32 17"/>`,
398
+ roadmap: l`<path d="M6 38 C14 38 14 26 22 26 C30 26 30 14 38 14"/><circle cx="6" cy="38" r="3" fill="currentColor" stroke="none"/><circle cx="22" cy="26" r="3" fill="currentColor" stroke="none"/><circle cx="38" cy="14" r="3" fill="currentColor" stroke="none"/>`,
399
+ help: l`<circle cx="24" cy="24" r="17"/><path d="M18 18 C18 13 30 13 30 19 C30 24 24 23 24 29"/><circle cx="24" cy="35" r="1.8" fill="currentColor" stroke="none"/>`,
400
+ repository: l`<rect x="7" y="10" width="34" height="28" rx="3"/><path d="M18 20 L13 24 L18 28 M30 20 L35 24 L30 28"/>`,
401
+ star: l`<path d="M24 6 L29 19 L43 19 L32 28 L36 42 L24 34 L12 42 L16 28 L5 19 L19 19 Z"/>`,
402
+ chat: l`<path d="M8 10 H40 A2 2 0 0 1 42 12 V30 A2 2 0 0 1 40 32 H20 L12 40 V32 H8 A2 2 0 0 1 6 30 V12 A2 2 0 0 1 8 10 Z"/><path d="M14 18 H34 M14 24 H28"/>`,
403
+ heart: l`<path d="M24 41 C10 32 4 23 4 15.5 C4 9 9 5 15 5 C19.5 5 22.5 7.5 24 11 C25.5 7.5 28.5 5 33 5 C39 5 44 9 44 15.5 C44 23 38 32 24 41 Z"/>`,
404
+ // Phase 3: module registry (Forge replacement) -------------------------
405
+ module: l`<rect x="8" y="16" width="32" height="24" rx="3"/><path d="M8 24 H40"/><path d="M20 16 L24 24 L28 16"/>`,
406
+ tag: l`<path d="M6 10 H26 L42 26 L26 42 H6 Z"/><circle cx="15" cy="19" r="3" fill="currentColor" stroke="none"/>`,
407
+ dependency: l`<rect x="6" y="19" width="20" height="10" rx="5"/><rect x="22" y="19" width="20" height="10" rx="5"/>`,
408
+ verified: l`<path d="M24 5 L31 10 L39 9 L40 17 L46 24 L40 31 L39 39 L31 38 L24 43 L17 38 L9 39 L8 31 L2 24 L8 17 L9 9 L17 10 Z"/><path d="M16 24 L21 29 L32 18"/>`,
409
+ archived: l`<rect x="6" y="6" width="36" height="10" rx="2"/><rect x="10" y="16" width="28" height="26" rx="2"/><path d="M20 26 H28"/>`,
410
+ publish: l`<path d="M24 6 V28 M24 6 L16 14 M24 6 L32 14"/><path d="M8 32 V38 A2 2 0 0 0 10 40 H38 A2 2 0 0 0 40 38 V32"/>`,
411
+ changelog: l`<path d="M10 6 H28 L36 14 V42 H10 Z"/><path d="M28 6 V14 H36"/><path d="M16 24 H24"/><circle cx="34" cy="34" r="7"/><path d="M34 30 V34 L37 36"/>`,
412
+ vulnerability: l`<path d="M24 6 L40 12 V22 C40 33 33 40 24 43 C15 40 8 33 8 22 V12 Z"/><path d="M24 16 V26"/><circle cx="24" cy="32" r="1.8" fill="currentColor" stroke="none"/>`,
413
+ gauge: l`<path d="M6 34 A18 18 0 0 1 42 34"/><path d="M24 34 L34 20"/><circle cx="24" cy="34" r="2.2" fill="currentColor" stroke="none"/>`,
414
+ "file-tree": l`<path d="M6 12 H18 L22 17 H42 V38 H6 Z"/><path d="M26 24 H36 M26 30 H36"/>`,
415
+ "check-circle": l`<circle cx="24" cy="24" r="17"/><path d="M15 24 L21 30 L33 17"/>`,
416
+ "x-circle": l`<circle cx="24" cy="24" r="17"/><path d="M18 18 L30 30 M30 18 L18 30"/>`,
417
+ fork: l`<circle cx="14" cy="10" r="4"/><circle cx="34" cy="10" r="4"/><circle cx="24" cy="38" r="4"/><path d="M14 14 V22 L24 32 M34 14 V22 L24 32 M24 32 V34"/>`,
418
+ trending: l`<path d="M6 34 L18 22 L26 28 L42 10"/><path d="M32 10 H42 V20"/>`,
419
+ collection: l`<rect x="10" y="6" width="28" height="10" rx="2"/><rect x="6" y="19" width="36" height="10" rx="2"/><rect x="10" y="32" width="28" height="10" rx="2"/>`,
420
+ // Phase 4: fleet console (Puppet Enterprise replacement) ---------------
421
+ dashboard: l`<rect x="6" y="6" width="18" height="14" rx="2"/><rect x="28" y="6" width="14" height="8" rx="2"/><rect x="28" y="18" width="14" height="14" rx="2"/><rect x="6" y="24" width="18" height="18" rx="2"/>`,
422
+ node: l`<rect x="10" y="14" width="28" height="20" rx="3"/><path d="M16 22 H22 M16 27 H22"/><circle cx="32" cy="24" r="2" fill="currentColor" stroke="none"/>`,
423
+ "node-group": l`<rect x="6" y="10" width="24" height="9" rx="2"/><rect x="12" y="21" width="24" height="9" rx="2"/><rect x="18" y="32" width="24" height="9" rx="2"/>`,
424
+ pulse: l`<path d="M4 24 H14 L19 12 L27 36 L32 24 H44"/>`,
425
+ compliance: l`<rect x="9" y="6" width="30" height="36" rx="3"/><path d="M16 16 L19 19 L26 12 M16 26 L19 29 L26 22 M16 36 H30"/>`,
426
+ report: l`<path d="M10 6 H28 L36 14 V42 H10 Z"/><path d="M28 6 V14 H36"/><path d="M16 34 V28 M22 34 V24 M28 34 V30"/>`,
427
+ "activity-log": l`<path d="M14 8 V40"/><circle cx="14" cy="12" r="3" fill="currentColor" stroke="none"/><circle cx="14" cy="24" r="3" fill="currentColor" stroke="none"/><circle cx="14" cy="36" r="3" fill="currentColor" stroke="none"/><path d="M22 12 H40 M22 24 H40 M22 36 H34"/>`,
428
+ bell: l`<path d="M12 32 V22 A12 12 0 0 1 36 22 V32 L40 38 H8 Z"/><path d="M20 38 A4 4 0 0 0 28 38"/>`,
429
+ orchestrate: l`<circle cx="24" cy="24" r="17"/><path d="M19 15 L33 24 L19 33 Z"/>`,
430
+ plan: l`<rect x="6" y="8" width="24" height="32" rx="3"/><path d="M12 16 H24 M12 22 H24 M12 28 H20"/><path d="M32 24 H44 M38 18 L44 24 L38 30"/>`,
431
+ badge: l`<rect x="6" y="10" width="36" height="28" rx="3"/><circle cx="17" cy="21" r="5"/><path d="M10 32 C10 26 13 24 17 24 C21 24 24 26 24 32"/><path d="M30 18 H38 M30 24 H38 M30 30 H36"/>`,
432
+ audit: l`<path d="M10 6 H26 L34 14 V42 H10 Z"/><path d="M26 6 V14 H34"/><path d="M16 24 H24 M16 30 H22"/><circle cx="33" cy="33" r="6"/><path d="M37.5 37.5 L43 43"/>`,
433
+ key: l`<circle cx="16" cy="24" r="9"/><path d="M23 24 H42 M34 24 V31 M40 24 V29"/>`,
434
+ layers: l`<path d="M24 6 L44 16 L24 26 L4 16 Z"/><path d="M4 26 L24 36 L44 26"/><path d="M4 34 L24 44 L44 34"/>`,
435
+ classifier: l`<path d="M6 10 H24 L40 26 L24 42 H6 Z"/><circle cx="14" cy="18" r="3" fill="currentColor" stroke="none"/><circle cx="32" cy="26" r="3" fill="currentColor" stroke="none"/>`,
436
+ deploy: l`<path d="M24 8 V34"/><path d="M24 8 L15 20 M24 8 L33 20"/><path d="M10 40 H38"/>`,
437
+ metrics: l`<path d="M6 40 H42"/><path d="M6 40 V6"/><path d="M10 30 L18 22 L26 27 L38 12"/>`,
438
+ schedule: l`<rect x="6" y="10" width="28" height="30" rx="3"/><path d="M6 18 H34"/><path d="M14 6 V14 M26 6 V14"/><circle cx="34" cy="34" r="10"/><path d="M34 28 V34 L38 37"/>`,
439
+ backup: l`<path d="M24 6 V26 M24 26 L16 18 M24 26 L32 18"/><rect x="8" y="30" width="32" height="12" rx="2"/><path d="M8 36 H40"/>`,
440
+ webhook: l`<circle cx="12" cy="14" r="6"/><circle cx="36" cy="34" r="6"/><path d="M17 17 L31 31"/><path d="M22 22 L20 28 L26 26 L24 32"/>`,
441
+ organization: l`<rect x="10" y="10" width="28" height="32" rx="2"/><path d="M17 18 H21 M27 18 H31 M17 26 H21 M27 26 H31 M17 34 H21 M27 34 H31"/>`,
442
+ drift: l`<rect x="6" y="12" width="20" height="20" rx="3"/><rect x="22" y="16" width="20" height="20" rx="3"/><path d="M20 24 H28"/>`,
443
+ // Added later: consolidated from docs pages that predated vox-icon ------
444
+ blocks: l`<rect x="7" y="7" width="15" height="15" rx="2.5"/><rect x="26" y="7" width="15" height="15" rx="2.5"/><rect x="7" y="26" width="15" height="15" rx="2.5"/><rect x="26" y="26" width="15" height="15" rx="2.5"/>`,
445
+ plug: l`<path d="M16 6 V18 M32 6 V18 M12 18 H36 V28 C36 34 30 38 24 38 C18 38 12 34 12 28 Z"/><path d="M24 38 V44"/>`,
446
+ ballot: l`<rect x="8" y="18" width="32" height="24" rx="2.5"/><path d="M8 26 H40"/><path d="M24 10 V26"/><path d="M18 6 L24 12 L30 6"/>`,
447
+ sun: l`<circle cx="24" cy="24" r="8"/><path d="M24 4v4M24 40v4M9.86 9.86l2.82 2.82M35.32 35.32l2.82 2.82M4 24h4M40 24h4M12.68 35.32l-2.82 2.82M38.14 9.86l-2.82 2.82"/>`,
448
+ moon: l`<path d="M42 25.58A18 18 0 1 1 22.42 6 14 14 0 0 0 42 25.58Z"/>`,
449
+ github: l`<g transform="translate(4,4) scale(2.5)" fill="currentColor" stroke="none"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></g>`,
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
+ 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
+ };
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;
457
+ };
458
+ let j = class extends v {
459
+ constructor() {
460
+ super(...arguments), this.name = "info", this.size = "md";
461
+ }
462
+ render() {
463
+ const t = m[this.name];
464
+ return t ? c`
465
+ <svg
466
+ viewBox="0 0 48 48"
467
+ fill="none"
468
+ stroke="currentColor"
469
+ stroke-width="2"
470
+ stroke-linecap="round"
471
+ stroke-linejoin="round"
472
+ role=${this.label ? "img" : h}
473
+ aria-hidden=${this.label ? h : "true"}
474
+ aria-label=${this.label ?? h}
475
+ >
476
+ ${t}
477
+ </svg>
478
+ ` : h;
479
+ }
480
+ };
481
+ j.styles = d`
482
+ :host {
483
+ display: inline-flex;
484
+ flex: none;
485
+ color: inherit;
486
+ }
487
+
488
+ svg {
489
+ display: block;
490
+ }
491
+
492
+ :host([size='sm']) svg {
493
+ width: 16px;
494
+ height: 16px;
495
+ }
496
+
497
+ :host([size='md']) svg {
498
+ width: 20px;
499
+ height: 20px;
500
+ }
501
+
502
+ :host([size='lg']) svg {
503
+ width: 24px;
504
+ height: 24px;
505
+ }
506
+
507
+ :host([size='xl']) svg {
508
+ width: 48px;
509
+ height: 48px;
510
+ }
511
+ `;
512
+ Ve([
513
+ n()
514
+ ], j.prototype, "name", 2);
515
+ Ve([
516
+ n({ reflect: !0 })
517
+ ], j.prototype, "size", 2);
518
+ Ve([
519
+ n()
520
+ ], j.prototype, "label", 2);
521
+ j = Ve([
522
+ p("vox-icon")
523
+ ], j);
524
+ var Lo = Object.defineProperty, ne = (t, o, a, r) => {
366
525
  for (var e = void 0, s = t.length - 1, i; s >= 0; s--)
367
526
  (i = t[s]) && (e = i(o, a, e) || e);
368
- return e && mo(o, a, e), e;
527
+ return e && Lo(o, a, e), e;
369
528
  };
370
- const Ze = class Ze extends v {
529
+ const io = class io extends v {
371
530
  constructor() {
372
531
  super(), this.name = "", this.label = "", this.note = "", this.disabled = !1, this.required = !1, this.internals = this.attachInternals();
373
532
  }
@@ -391,34 +550,34 @@ const Ze = class Ze extends v {
391
550
  this.internals.setValidity(o.validity, o.validationMessage, o);
392
551
  }
393
552
  renderLabel(o) {
394
- return this.label ? l`
553
+ return this.label ? c`
395
554
  <label class="label" for=${o}>
396
- ${this.label}${this.required ? l`<span class="required-mark" aria-hidden="true"> *</span>` : p}
555
+ ${this.label}${this.required ? c`<span class="required-mark" aria-hidden="true"> *</span>` : h}
397
556
  </label>
398
- ` : p;
557
+ ` : h;
399
558
  }
400
559
  renderNote() {
401
- return this.note ? l`<p class="note">${this.note}</p>` : p;
560
+ return this.note ? c`<p class="note">${this.note}</p>` : h;
402
561
  }
403
562
  };
404
- Ze.formAssociated = !0;
405
- let h = Ze;
406
- te([
563
+ io.formAssociated = !0;
564
+ let x = io;
565
+ ne([
407
566
  n()
408
- ], h.prototype, "name");
409
- te([
567
+ ], x.prototype, "name");
568
+ ne([
410
569
  n()
411
- ], h.prototype, "label");
412
- te([
570
+ ], x.prototype, "label");
571
+ ne([
413
572
  n()
414
- ], h.prototype, "note");
415
- te([
573
+ ], x.prototype, "note");
574
+ ne([
416
575
  n({ type: Boolean, reflect: !0 })
417
- ], h.prototype, "disabled");
418
- te([
576
+ ], x.prototype, "disabled");
577
+ ne([
419
578
  n({ type: Boolean, reflect: !0 })
420
- ], h.prototype, "required");
421
- const re = c`
579
+ ], x.prototype, "required");
580
+ const le = d`
422
581
  :host {
423
582
  display: block;
424
583
  font-family: var(--vox-font-family-base);
@@ -485,7 +644,7 @@ const re = c`
485
644
  :host([data-vox-group='end']) .control {
486
645
  border-radius: 0 var(--vox-radius-md) var(--vox-radius-md) 0;
487
646
  }
488
- `, ao = c`
647
+ `, vo = d`
489
648
  :host {
490
649
  display: block;
491
650
  font-family: var(--vox-font-family-base);
@@ -514,12 +673,12 @@ const re = c`
514
673
  margin: 0;
515
674
  }
516
675
  `;
517
- var yo = Object.defineProperty, wo = Object.getOwnPropertyDescriptor, Ne = (t, o, a, r) => {
518
- for (var e = r > 1 ? void 0 : r ? wo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
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--)
519
678
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
520
- return r && e && yo(o, a, e), e;
679
+ return r && e && Po(o, a, e), e;
521
680
  };
522
- let q = class extends h {
681
+ let I = class extends x {
523
682
  constructor() {
524
683
  super(...arguments), this.checked = !1, this.value = "on";
525
684
  }
@@ -537,7 +696,7 @@ let q = class extends h {
537
696
  this.checked = t.target.checked, this.dispatchEvent(new Event("change", { bubbles: !0 }));
538
697
  }
539
698
  render() {
540
- return l`
699
+ return c`
541
700
  <label class="check">
542
701
  <input
543
702
  type="checkbox"
@@ -555,9 +714,9 @@ let q = class extends h {
555
714
  `;
556
715
  }
557
716
  };
558
- q.styles = [
559
- ao,
560
- c`
717
+ I.styles = [
718
+ vo,
719
+ d`
561
720
  .box {
562
721
  flex: none;
563
722
  display: flex;
@@ -596,21 +755,21 @@ q.styles = [
596
755
  }
597
756
  `
598
757
  ];
599
- Ne([
758
+ Ue([
600
759
  n({ type: Boolean, reflect: !0 })
601
- ], q.prototype, "checked", 2);
602
- Ne([
760
+ ], I.prototype, "checked", 2);
761
+ Ue([
603
762
  n()
604
- ], q.prototype, "value", 2);
605
- q = Ne([
606
- d("vox-checkbox")
607
- ], q);
608
- var $o = Object.defineProperty, _o = Object.getOwnPropertyDescriptor, V = (t, o, a, r) => {
609
- for (var e = r > 1 ? void 0 : r ? _o(o, a) : o, s = t.length - 1, i; s >= 0; s--)
763
+ ], I.prototype, "value", 2);
764
+ I = Ue([
765
+ 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--)
610
769
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
611
- return r && e && $o(o, a, e), e;
770
+ return r && e && jo(o, a, e), e;
612
771
  };
613
- let u = class extends h {
772
+ let g = class extends x {
614
773
  constructor() {
615
774
  super(...arguments), this.multiple = !1, this.buttonLabel = "Choose a file", this.fileNames = [];
616
775
  }
@@ -629,14 +788,14 @@ let u = class extends h {
629
788
  ), this.dispatchEvent(new Event("change", { bubbles: !0 }));
630
789
  }
631
790
  render() {
632
- return l`
791
+ return c`
633
792
  <div class="field">
634
793
  ${this.renderLabel("file")}
635
794
  <label>
636
795
  <input
637
796
  id="file"
638
797
  type="file"
639
- accept=${j(this.accept)}
798
+ accept=${P(this.accept)}
640
799
  ?multiple=${this.multiple}
641
800
  ?disabled=${this.disabled}
642
801
  @change=${this.handleChange}
@@ -653,9 +812,9 @@ let u = class extends h {
653
812
  `;
654
813
  }
655
814
  };
656
- u.styles = [
657
- re,
658
- c`
815
+ g.styles = [
816
+ le,
817
+ d`
659
818
  input {
660
819
  position: absolute;
661
820
  width: 1px;
@@ -703,30 +862,30 @@ u.styles = [
703
862
  }
704
863
  `
705
864
  ];
706
- V([
865
+ B([
707
866
  n()
708
- ], u.prototype, "accept", 2);
709
- V([
867
+ ], g.prototype, "accept", 2);
868
+ B([
710
869
  n({ type: Boolean })
711
- ], u.prototype, "multiple", 2);
712
- V([
870
+ ], g.prototype, "multiple", 2);
871
+ B([
713
872
  n({ attribute: "button-label" })
714
- ], u.prototype, "buttonLabel", 2);
715
- V([
716
- to()
717
- ], u.prototype, "fileNames", 2);
718
- V([
719
- qe("input")
720
- ], u.prototype, "inputEl", 2);
721
- u = V([
722
- d("vox-file-input")
723
- ], u);
724
- var Oo = Object.defineProperty, Po = Object.getOwnPropertyDescriptor, B = (t, o, a, r) => {
725
- for (var e = r > 1 ? void 0 : r ? Po(o, a) : o, s = t.length - 1, i; s >= 0; s--)
873
+ ], g.prototype, "buttonLabel", 2);
874
+ B([
875
+ Le()
876
+ ], g.prototype, "fileNames", 2);
877
+ B([
878
+ Ze("input")
879
+ ], g.prototype, "inputEl", 2);
880
+ g = B([
881
+ 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--)
726
885
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
727
- return r && e && Oo(o, a, e), e;
886
+ return r && e && zo(o, a, e), e;
728
887
  };
729
- let f = class extends h {
888
+ let b = class extends x {
730
889
  constructor() {
731
890
  super(...arguments), this.type = "text", this.value = "", this.readonly = !1;
732
891
  }
@@ -749,20 +908,20 @@ let f = class extends h {
749
908
  this.dispatchEvent(new Event("change", { bubbles: !0 }));
750
909
  }
751
910
  render() {
752
- return l`
911
+ return c`
753
912
  <div class="field">
754
913
  ${this.renderLabel("input")}
755
914
  <input
756
915
  id="input"
757
916
  class="control"
758
917
  type=${this.type}
759
- .value=${ro(this.value)}
760
- placeholder=${j(this.placeholder)}
761
- autocomplete=${j(this.autocomplete)}
918
+ .value=${po(this.value)}
919
+ placeholder=${P(this.placeholder)}
920
+ autocomplete=${P(this.autocomplete)}
762
921
  ?required=${this.required}
763
922
  ?readonly=${this.readonly}
764
923
  ?disabled=${this.disabled}
765
- aria-label=${this.label ? p : "text input"}
924
+ aria-label=${this.label ? h : "text input"}
766
925
  @input=${this.handleInput}
767
926
  @change=${this.handleChange}
768
927
  />
@@ -771,31 +930,31 @@ let f = class extends h {
771
930
  `;
772
931
  }
773
932
  };
774
- f.styles = re;
775
- B([
933
+ b.styles = le;
934
+ q([
776
935
  n()
777
- ], f.prototype, "type", 2);
778
- B([
936
+ ], b.prototype, "type", 2);
937
+ q([
779
938
  n()
780
- ], f.prototype, "value", 2);
781
- B([
939
+ ], b.prototype, "value", 2);
940
+ q([
782
941
  n()
783
- ], f.prototype, "placeholder", 2);
784
- B([
942
+ ], b.prototype, "placeholder", 2);
943
+ q([
785
944
  n()
786
- ], f.prototype, "autocomplete", 2);
787
- B([
945
+ ], b.prototype, "autocomplete", 2);
946
+ q([
788
947
  n({ type: Boolean, reflect: !0 })
789
- ], f.prototype, "readonly", 2);
790
- f = B([
791
- d("vox-input")
792
- ], f);
793
- var Co = Object.getOwnPropertyDescriptor, jo = (t, o, a, r) => {
794
- for (var e = r > 1 ? void 0 : r ? Co(o, a) : o, s = t.length - 1, i; s >= 0; s--)
948
+ ], b.prototype, "readonly", 2);
949
+ b = q([
950
+ 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--)
795
954
  (i = t[s]) && (e = i(e) || e);
796
955
  return e;
797
956
  };
798
- let ke = class extends v {
957
+ let Be = class extends v {
799
958
  handleSlotChange(t) {
800
959
  const o = t.target.assignedElements();
801
960
  o.forEach((a, r) => {
@@ -804,14 +963,14 @@ let ke = class extends v {
804
963
  });
805
964
  }
806
965
  render() {
807
- return l`
966
+ return c`
808
967
  <div class="group" role="group">
809
968
  <slot @slotchange=${this.handleSlotChange}></slot>
810
969
  </div>
811
970
  `;
812
971
  }
813
972
  };
814
- ke.styles = c`
973
+ Be.styles = d`
815
974
  :host {
816
975
  display: block;
817
976
  font-family: var(--vox-font-family-base);
@@ -853,15 +1012,15 @@ ke.styles = c`
853
1012
  border-left: none;
854
1013
  }
855
1014
  `;
856
- ke = jo([
857
- d("vox-input-group")
858
- ], ke);
859
- var Do = Object.defineProperty, ko = Object.getOwnPropertyDescriptor, _e = (t, o, a, r) => {
860
- for (var e = r > 1 ? void 0 : r ? ko(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1015
+ Be = So([
1016
+ 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--)
861
1020
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
862
- return r && e && Do(o, a, e), e;
1021
+ return r && e && Ao(o, a, e), e;
863
1022
  };
864
- let k = class extends v {
1023
+ let D = class extends v {
865
1024
  constructor() {
866
1025
  super(...arguments), this.value = "", this.checked = !1, this.disabled = !1;
867
1026
  }
@@ -874,7 +1033,7 @@ let k = class extends v {
874
1033
  (t.key === " " || t.key === "Enter") && (t.preventDefault(), this.select());
875
1034
  }
876
1035
  render() {
877
- return l`
1036
+ return c`
878
1037
  <span
879
1038
  class="radio"
880
1039
  role="radio"
@@ -890,7 +1049,7 @@ let k = class extends v {
890
1049
  `;
891
1050
  }
892
1051
  };
893
- k.styles = c`
1052
+ D.styles = d`
894
1053
  :host {
895
1054
  display: block;
896
1055
  font-family: var(--vox-font-family-base);
@@ -939,24 +1098,24 @@ k.styles = c`
939
1098
  outline-offset: 2px;
940
1099
  }
941
1100
  `;
942
- _e([
1101
+ je([
943
1102
  n()
944
- ], k.prototype, "value", 2);
945
- _e([
1103
+ ], D.prototype, "value", 2);
1104
+ je([
946
1105
  n({ type: Boolean, reflect: !0 })
947
- ], k.prototype, "checked", 2);
948
- _e([
1106
+ ], D.prototype, "checked", 2);
1107
+ je([
949
1108
  n({ type: Boolean, reflect: !0 })
950
- ], k.prototype, "disabled", 2);
951
- k = _e([
952
- d("vox-radio")
953
- ], k);
954
- var zo = Object.defineProperty, Eo = Object.getOwnPropertyDescriptor, so = (t, o, a, r) => {
955
- for (var e = r > 1 ? void 0 : r ? Eo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1109
+ ], D.prototype, "disabled", 2);
1110
+ D = je([
1111
+ 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--)
956
1115
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
957
- return r && e && zo(o, a, e), e;
1116
+ return r && e && qo(o, a, e), e;
958
1117
  };
959
- let pe = class extends h {
1118
+ let be = class extends x {
960
1119
  constructor() {
961
1120
  super(...arguments), this.value = "";
962
1121
  }
@@ -987,7 +1146,7 @@ let pe = class extends h {
987
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 }))));
988
1147
  }
989
1148
  handleKeydown(t) {
990
- var Je, eo;
1149
+ var no, lo;
991
1150
  const a = {
992
1151
  ArrowDown: 1,
993
1152
  ArrowRight: 1,
@@ -996,16 +1155,16 @@ let pe = class extends h {
996
1155
  }[t.key];
997
1156
  if (!a) return;
998
1157
  t.preventDefault();
999
- const r = this.radios.filter((De) => !De.disabled);
1158
+ const r = this.radios.filter((Ae) => !Ae.disabled);
1000
1159
  if (r.length === 0) return;
1001
- const e = r.findIndex((De) => De.checked), s = (Math.max(e, 0) + a + r.length) % r.length, i = r[s];
1002
- i.select(), (eo = (Je = i.shadowRoot) == null ? void 0 : Je.querySelector(".radio")) == null || eo.focus();
1160
+ 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();
1003
1162
  }
1004
1163
  render() {
1005
- return l`
1164
+ return c`
1006
1165
  <div class="field" role="radiogroup" aria-label=${this.label}>
1007
- ${this.label ? l`<span class="label">
1008
- ${this.label}${this.required ? l`<span class="required-mark" aria-hidden="true"> *</span>` : ""}
1166
+ ${this.label ? c`<span class="label">
1167
+ ${this.label}${this.required ? c`<span class="required-mark" aria-hidden="true"> *</span>` : ""}
1009
1168
  </span>` : ""}
1010
1169
  <div
1011
1170
  class="options"
@@ -1019,9 +1178,9 @@ let pe = class extends h {
1019
1178
  `;
1020
1179
  }
1021
1180
  };
1022
- pe.styles = [
1023
- re,
1024
- c`
1181
+ be.styles = [
1182
+ le,
1183
+ d`
1025
1184
  .options {
1026
1185
  display: flex;
1027
1186
  flex-direction: column;
@@ -1030,18 +1189,18 @@ pe.styles = [
1030
1189
  }
1031
1190
  `
1032
1191
  ];
1033
- so([
1192
+ ho([
1034
1193
  n()
1035
- ], pe.prototype, "value", 2);
1036
- pe = so([
1037
- d("vox-radio-group")
1038
- ], pe);
1039
- var So = Object.defineProperty, Vo = Object.getOwnPropertyDescriptor, Me = (t, o, a, r) => {
1040
- for (var e = r > 1 ? void 0 : r ? Vo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1194
+ ], be.prototype, "value", 2);
1195
+ be = ho([
1196
+ 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--)
1041
1200
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1042
- return r && e && So(o, a, e), e;
1201
+ return r && e && Io(o, a, e), e;
1043
1202
  };
1044
- let L = class extends h {
1203
+ let T = class extends x {
1045
1204
  constructor() {
1046
1205
  super(...arguments), this.value = "";
1047
1206
  }
@@ -1062,7 +1221,7 @@ let L = class extends h {
1062
1221
  this.value = this.selectEl.value, this.dispatchEvent(new Event("change", { bubbles: !0 }));
1063
1222
  }
1064
1223
  render() {
1065
- return l`
1224
+ return c`
1066
1225
  <div class="field">
1067
1226
  ${this.renderLabel("select")}
1068
1227
  <select
@@ -1078,9 +1237,9 @@ let L = class extends h {
1078
1237
  `;
1079
1238
  }
1080
1239
  };
1081
- L.styles = [
1082
- re,
1083
- c`
1240
+ T.styles = [
1241
+ le,
1242
+ d`
1084
1243
  select.control {
1085
1244
  appearance: none;
1086
1245
  padding-right: var(--vox-space-8);
@@ -1091,21 +1250,21 @@ L.styles = [
1091
1250
  }
1092
1251
  `
1093
1252
  ];
1094
- Me([
1253
+ Ge([
1095
1254
  n()
1096
- ], L.prototype, "value", 2);
1097
- Me([
1098
- qe("select")
1099
- ], L.prototype, "selectEl", 2);
1100
- L = Me([
1101
- d("vox-select")
1102
- ], L);
1103
- var Bo = Object.defineProperty, Ao = Object.getOwnPropertyDescriptor, Te = (t, o, a, r) => {
1104
- for (var e = r > 1 ? void 0 : r ? Ao(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1255
+ ], T.prototype, "value", 2);
1256
+ Ge([
1257
+ Ze("select")
1258
+ ], T.prototype, "selectEl", 2);
1259
+ T = Ge([
1260
+ 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--)
1105
1264
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1106
- return r && e && Bo(o, a, e), e;
1265
+ return r && e && Ro(o, a, e), e;
1107
1266
  };
1108
- let N = class extends h {
1267
+ let R = class extends x {
1109
1268
  constructor() {
1110
1269
  super(...arguments), this.checked = !1, this.value = "on";
1111
1270
  }
@@ -1119,7 +1278,7 @@ let N = class extends h {
1119
1278
  this.checked = t.target.checked, this.dispatchEvent(new Event("change", { bubbles: !0 }));
1120
1279
  }
1121
1280
  render() {
1122
- return l`
1281
+ return c`
1123
1282
  <label class="check">
1124
1283
  <input
1125
1284
  type="checkbox"
@@ -1134,9 +1293,9 @@ let N = class extends h {
1134
1293
  `;
1135
1294
  }
1136
1295
  };
1137
- N.styles = [
1138
- ao,
1139
- c`
1296
+ R.styles = [
1297
+ vo,
1298
+ d`
1140
1299
  .track {
1141
1300
  flex: none;
1142
1301
  position: relative;
@@ -1174,21 +1333,21 @@ N.styles = [
1174
1333
  }
1175
1334
  `
1176
1335
  ];
1177
- Te([
1336
+ Xe([
1178
1337
  n({ type: Boolean, reflect: !0 })
1179
- ], N.prototype, "checked", 2);
1180
- Te([
1338
+ ], R.prototype, "checked", 2);
1339
+ Xe([
1181
1340
  n()
1182
- ], N.prototype, "value", 2);
1183
- N = Te([
1184
- d("vox-switch")
1185
- ], N);
1186
- var qo = Object.defineProperty, Lo = Object.getOwnPropertyDescriptor, ae = (t, o, a, r) => {
1187
- for (var e = r > 1 ? void 0 : r ? Lo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1341
+ ], R.prototype, "value", 2);
1342
+ R = Xe([
1343
+ 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--)
1188
1347
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1189
- return r && e && qo(o, a, e), e;
1348
+ return r && e && Zo(o, a, e), e;
1190
1349
  };
1191
- let g = class extends h {
1350
+ let y = class extends x {
1192
1351
  constructor() {
1193
1352
  super(...arguments), this.value = "", this.rows = 4, this.readonly = !1;
1194
1353
  }
@@ -1211,15 +1370,15 @@ let g = class extends h {
1211
1370
  this.dispatchEvent(new Event("change", { bubbles: !0 }));
1212
1371
  }
1213
1372
  render() {
1214
- return l`
1373
+ return c`
1215
1374
  <div class="field">
1216
1375
  ${this.renderLabel("textarea")}
1217
1376
  <textarea
1218
1377
  id="textarea"
1219
1378
  class="control"
1220
1379
  rows=${this.rows}
1221
- .value=${ro(this.value)}
1222
- placeholder=${j(this.placeholder)}
1380
+ .value=${po(this.value)}
1381
+ placeholder=${P(this.placeholder)}
1223
1382
  ?required=${this.required}
1224
1383
  ?readonly=${this.readonly}
1225
1384
  ?disabled=${this.disabled}
@@ -1231,48 +1390,48 @@ let g = class extends h {
1231
1390
  `;
1232
1391
  }
1233
1392
  };
1234
- g.styles = [
1235
- re,
1236
- c`
1393
+ y.styles = [
1394
+ le,
1395
+ d`
1237
1396
  textarea.control {
1238
1397
  resize: vertical;
1239
1398
  min-height: 4em;
1240
1399
  }
1241
1400
  `
1242
1401
  ];
1243
- ae([
1402
+ ce([
1244
1403
  n()
1245
- ], g.prototype, "value", 2);
1246
- ae([
1404
+ ], y.prototype, "value", 2);
1405
+ ce([
1247
1406
  n()
1248
- ], g.prototype, "placeholder", 2);
1249
- ae([
1407
+ ], y.prototype, "placeholder", 2);
1408
+ ce([
1250
1409
  n({ type: Number })
1251
- ], g.prototype, "rows", 2);
1252
- ae([
1410
+ ], y.prototype, "rows", 2);
1411
+ ce([
1253
1412
  n({ type: Boolean, reflect: !0 })
1254
- ], g.prototype, "readonly", 2);
1255
- g = ae([
1256
- d("vox-textarea")
1257
- ], g);
1258
- var No = Object.defineProperty, Mo = Object.getOwnPropertyDescriptor, se = (t, o, a, r) => {
1259
- for (var e = r > 1 ? void 0 : r ? Mo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1413
+ ], y.prototype, "readonly", 2);
1414
+ y = ce([
1415
+ 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--)
1260
1419
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1261
- return r && e && No(o, a, e), e;
1420
+ return r && e && Uo(o, a, e), e;
1262
1421
  };
1263
- let m = class extends v {
1422
+ let w = class extends v {
1264
1423
  constructor() {
1265
1424
  super(...arguments), this.alt = "", this.initials = "", this.size = "md";
1266
1425
  }
1267
1426
  render() {
1268
- return l`
1427
+ return c`
1269
1428
  <span class="avatar" role=${this.src ? "presentation" : "img"} aria-label=${this.alt}>
1270
- ${this.src ? l`<img src=${this.src} alt=${this.alt} />` : this.initials}
1429
+ ${this.src ? c`<img src=${this.src} alt=${this.alt} />` : this.initials}
1271
1430
  </span>
1272
1431
  `;
1273
1432
  }
1274
1433
  };
1275
- m.styles = c`
1434
+ w.styles = d`
1276
1435
  :host {
1277
1436
  display: inline-block;
1278
1437
  }
@@ -1320,27 +1479,27 @@ m.styles = c`
1320
1479
  font-size: 28px;
1321
1480
  }
1322
1481
  `;
1323
- se([
1482
+ de([
1324
1483
  n()
1325
- ], m.prototype, "src", 2);
1326
- se([
1484
+ ], w.prototype, "src", 2);
1485
+ de([
1327
1486
  n()
1328
- ], m.prototype, "alt", 2);
1329
- se([
1487
+ ], w.prototype, "alt", 2);
1488
+ de([
1330
1489
  n()
1331
- ], m.prototype, "initials", 2);
1332
- se([
1490
+ ], w.prototype, "initials", 2);
1491
+ de([
1333
1492
  n({ reflect: !0 })
1334
- ], m.prototype, "size", 2);
1335
- m = se([
1336
- d("vox-avatar")
1337
- ], m);
1338
- var To = Object.defineProperty, Fo = Object.getOwnPropertyDescriptor, Fe = (t, o, a, r) => {
1339
- for (var e = r > 1 ? void 0 : r ? Fo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1493
+ ], w.prototype, "size", 2);
1494
+ w = de([
1495
+ 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--)
1340
1499
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1341
- return r && e && To(o, a, e), e;
1500
+ return r && e && Xo(o, a, e), e;
1342
1501
  };
1343
- let M = class extends v {
1502
+ let F = class extends v {
1344
1503
  constructor() {
1345
1504
  super(...arguments), this.heading = "", this.reverse = !1, this.hasActions = !1;
1346
1505
  }
@@ -1349,7 +1508,7 @@ let M = class extends v {
1349
1508
  this.hasActions = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
1350
1509
  }
1351
1510
  render() {
1352
- return l`
1511
+ return c`
1353
1512
  <div class="billboard">
1354
1513
  <div class="media"><slot name="media"></slot></div>
1355
1514
  <div class="content">
@@ -1363,7 +1522,7 @@ let M = class extends v {
1363
1522
  `;
1364
1523
  }
1365
1524
  };
1366
- M.styles = c`
1525
+ F.styles = d`
1367
1526
  :host {
1368
1527
  display: block;
1369
1528
  font-family: var(--vox-font-family-base);
@@ -1425,30 +1584,30 @@ M.styles = c`
1425
1584
  display: none;
1426
1585
  }
1427
1586
  `;
1428
- Fe([
1587
+ Qe([
1429
1588
  n()
1430
- ], M.prototype, "heading", 2);
1431
- Fe([
1589
+ ], F.prototype, "heading", 2);
1590
+ Qe([
1432
1591
  n({ type: Boolean, reflect: !0 })
1433
- ], M.prototype, "reverse", 2);
1434
- M = Fe([
1435
- d("vox-billboard")
1436
- ], M);
1437
- var Io = Object.getOwnPropertyDescriptor, Ro = (t, o, a, r) => {
1438
- for (var e = r > 1 ? void 0 : r ? Io(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1592
+ ], F.prototype, "reverse", 2);
1593
+ F = Qe([
1594
+ 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--)
1439
1598
  (i = t[s]) && (e = i(e) || e);
1440
1599
  return e;
1441
1600
  };
1442
- let ze = class extends v {
1601
+ let qe = class extends v {
1443
1602
  render() {
1444
- return l`
1603
+ return c`
1445
1604
  <nav aria-label="Breadcrumbs">
1446
1605
  <slot></slot>
1447
1606
  </nav>
1448
1607
  `;
1449
1608
  }
1450
1609
  };
1451
- ze.styles = c`
1610
+ qe.styles = d`
1452
1611
  :host {
1453
1612
  display: block;
1454
1613
  font-family: var(--vox-font-family-base);
@@ -1482,36 +1641,74 @@ ze.styles = c`
1482
1641
  color: var(--vox-color-text-3);
1483
1642
  }
1484
1643
  `;
1485
- ze = Ro([
1486
- d("vox-breadcrumbs")
1487
- ], ze);
1488
- var Ho = Object.defineProperty, Uo = Object.getOwnPropertyDescriptor, Ie = (t, o, a, r) => {
1489
- for (var e = r > 1 ? void 0 : r ? Uo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1644
+ qe = Yo([
1645
+ 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--)
1490
1649
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1491
- return r && e && Ho(o, a, e), e;
1650
+ return r && e && Jo(o, a, e), e;
1492
1651
  };
1493
- let T = class extends v {
1652
+ let z = class extends v {
1494
1653
  constructor() {
1495
- super(...arguments), this.siteTitle = "", this.href = "/";
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());
1659
+ }, this.toggleMobileMenu = () => {
1660
+ this.mobileOpen = !this.mobileOpen;
1661
+ }, this.closeMobileMenu = () => {
1662
+ this.mobileOpen = !1;
1663
+ };
1664
+ }
1665
+ connectedCallback() {
1666
+ super.connectedCallback(), document.addEventListener("click", this.handleOutsideClick), this.addEventListener("keydown", this.handleKeydown);
1667
+ }
1668
+ disconnectedCallback() {
1669
+ super.disconnectedCallback(), document.removeEventListener("click", this.handleOutsideClick), this.removeEventListener("keydown", this.handleKeydown);
1496
1670
  }
1497
1671
  render() {
1498
- return l`
1672
+ return c`
1499
1673
  <header class="header">
1500
1674
  <a class="brand" href=${this.href}>
1501
1675
  <slot name="logo"></slot>
1502
- ${this.siteTitle ? l`<span>${this.siteTitle}</span>` : p}
1676
+ ${this.siteTitle ? c`<span>${this.siteTitle}</span>` : h}
1503
1677
  </a>
1504
- <nav aria-label="Main">
1505
- <slot></slot>
1506
- </nav>
1507
- <div class="actions">
1508
- <slot name="actions"></slot>
1678
+ <button
1679
+ type="button"
1680
+ class="menu-toggle"
1681
+ aria-expanded=${this.mobileOpen ? "true" : "false"}
1682
+ aria-controls="nav-wrap"
1683
+ aria-label=${this.mobileOpen ? "Close menu" : "Open menu"}
1684
+ @click=${this.toggleMobileMenu}
1685
+ >
1686
+ <svg
1687
+ class="menu-icon"
1688
+ viewBox="0 0 48 48"
1689
+ fill="none"
1690
+ stroke="currentColor"
1691
+ stroke-width="2"
1692
+ stroke-linecap="round"
1693
+ stroke-linejoin="round"
1694
+ aria-hidden="true"
1695
+ >
1696
+ ${this.mobileOpen ? m.close : m.menu}
1697
+ </svg>
1698
+ </button>
1699
+ <div id="nav-wrap" class="nav-wrap${this.mobileOpen ? " open" : ""}">
1700
+ <nav aria-label="Main">
1701
+ <slot @click=${this.closeMobileMenu}></slot>
1702
+ </nav>
1703
+ <div class="actions">
1704
+ <slot name="actions"></slot>
1705
+ </div>
1509
1706
  </div>
1510
1707
  </header>
1511
1708
  `;
1512
1709
  }
1513
1710
  };
1514
- T.styles = c`
1711
+ z.styles = d`
1515
1712
  :host {
1516
1713
  display: block;
1517
1714
  font-family: var(--vox-font-family-base);
@@ -1545,6 +1742,39 @@ T.styles = c`
1545
1742
  width: auto;
1546
1743
  }
1547
1744
 
1745
+ .menu-toggle {
1746
+ display: none;
1747
+ align-items: center;
1748
+ justify-content: center;
1749
+ width: 36px;
1750
+ height: 36px;
1751
+ margin-left: auto;
1752
+ padding: 0;
1753
+ background: none;
1754
+ border: none;
1755
+ border-radius: var(--vox-radius-sm);
1756
+ color: var(--vox-color-text-1);
1757
+ cursor: pointer;
1758
+ }
1759
+
1760
+ .menu-toggle:hover {
1761
+ color: var(--vox-color-brand-1);
1762
+ }
1763
+
1764
+ .menu-toggle:focus-visible {
1765
+ outline: 2px solid var(--vox-color-brand-1);
1766
+ outline-offset: 2px;
1767
+ }
1768
+
1769
+ .menu-icon {
1770
+ width: 22px;
1771
+ height: 22px;
1772
+ }
1773
+
1774
+ .nav-wrap {
1775
+ display: contents;
1776
+ }
1777
+
1548
1778
  nav {
1549
1779
  display: flex;
1550
1780
  align-items: center;
@@ -1575,45 +1805,80 @@ T.styles = c`
1575
1805
  align-items: center;
1576
1806
  gap: var(--vox-space-3);
1577
1807
  }
1808
+
1809
+ @media (max-width: 768px) {
1810
+ .menu-toggle {
1811
+ display: inline-flex;
1812
+ }
1813
+
1814
+ .nav-wrap {
1815
+ display: none;
1816
+ width: 100%;
1817
+ }
1818
+
1819
+ .nav-wrap.open {
1820
+ display: flex;
1821
+ flex-direction: column;
1822
+ align-items: stretch;
1823
+ gap: var(--vox-space-4);
1824
+ margin-top: var(--vox-space-3);
1825
+ padding-top: var(--vox-space-4);
1826
+ border-top: 1px solid var(--vox-color-divider);
1827
+ }
1828
+
1829
+ nav {
1830
+ flex-direction: column;
1831
+ align-items: flex-start;
1832
+ gap: var(--vox-space-3);
1833
+ }
1834
+
1835
+ .actions {
1836
+ flex-direction: column;
1837
+ align-items: stretch;
1838
+ }
1839
+ }
1578
1840
  `;
1579
- Ie([
1841
+ De([
1580
1842
  n({ attribute: "site-title" })
1581
- ], T.prototype, "siteTitle", 2);
1582
- Ie([
1843
+ ], z.prototype, "siteTitle", 2);
1844
+ De([
1583
1845
  n()
1584
- ], T.prototype, "href", 2);
1585
- T = Ie([
1586
- d("vox-header")
1587
- ], T);
1588
- var Ko = Object.defineProperty, Go = Object.getOwnPropertyDescriptor, ie = (t, o, a, r) => {
1589
- for (var e = r > 1 ? void 0 : r ? Go(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1846
+ ], z.prototype, "href", 2);
1847
+ De([
1848
+ Le()
1849
+ ], z.prototype, "mobileOpen", 2);
1850
+ z = De([
1851
+ 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--)
1590
1855
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1591
- return r && e && Ko(o, a, e), e;
1856
+ return r && e && ot(o, a, e), e;
1592
1857
  };
1593
- let y = class extends v {
1858
+ let $ = class extends v {
1594
1859
  constructor() {
1595
1860
  super(...arguments), this.previousLabel = "", this.nextLabel = "";
1596
1861
  }
1597
1862
  render() {
1598
- return l`
1863
+ return c`
1599
1864
  <nav aria-label="Series">
1600
- ${this.previousHref ? l`
1865
+ ${this.previousHref ? c`
1601
1866
  <a href=${this.previousHref} rel="prev">
1602
1867
  <span class="direction">← Previous</span>
1603
1868
  <span class="title">${this.previousLabel}</span>
1604
1869
  </a>
1605
- ` : p}
1606
- ${this.nextHref ? l`
1870
+ ` : h}
1871
+ ${this.nextHref ? c`
1607
1872
  <a class="next" href=${this.nextHref} rel="next">
1608
1873
  <span class="direction">Next →</span>
1609
1874
  <span class="title">${this.nextLabel}</span>
1610
1875
  </a>
1611
- ` : p}
1876
+ ` : h}
1612
1877
  </nav>
1613
1878
  `;
1614
1879
  }
1615
1880
  };
1616
- y.styles = c`
1881
+ $.styles = d`
1617
1882
  :host {
1618
1883
  display: block;
1619
1884
  font-family: var(--vox-font-family-base);
@@ -1663,57 +1928,152 @@ y.styles = c`
1663
1928
  color: var(--vox-color-brand-1);
1664
1929
  }
1665
1930
  `;
1666
- ie([
1931
+ pe([
1667
1932
  n({ attribute: "previous-href" })
1668
- ], y.prototype, "previousHref", 2);
1669
- ie([
1933
+ ], $.prototype, "previousHref", 2);
1934
+ pe([
1670
1935
  n({ attribute: "previous-label" })
1671
- ], y.prototype, "previousLabel", 2);
1672
- ie([
1936
+ ], $.prototype, "previousLabel", 2);
1937
+ pe([
1673
1938
  n({ attribute: "next-href" })
1674
- ], y.prototype, "nextHref", 2);
1675
- ie([
1939
+ ], $.prototype, "nextHref", 2);
1940
+ pe([
1676
1941
  n({ attribute: "next-label" })
1677
- ], y.prototype, "nextLabel", 2);
1678
- y = ie([
1679
- d("vox-series-nav")
1680
- ], y);
1681
- var Xo = Object.defineProperty, Qo = Object.getOwnPropertyDescriptor, b = (t, o, a, r) => {
1682
- for (var e = r > 1 ? void 0 : r ? Qo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
1942
+ ], $.prototype, "nextLabel", 2);
1943
+ $ = pe([
1944
+ 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--)
1683
1948
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1684
- return r && e && Xo(o, a, e), e;
1949
+ return r && e && rt(o, a, e), e;
1685
1950
  };
1686
- let he = class extends v {
1951
+ let H = class extends v {
1687
1952
  constructor() {
1688
- super(...arguments), this.label = "Section";
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());
1958
+ }, this.toggleMobile = () => {
1959
+ this.mobileOpen = !this.mobileOpen;
1960
+ }, this.handleNavClick = (t) => {
1961
+ t.composedPath().some((o) => o instanceof HTMLAnchorElement) && (this.mobileOpen = !1);
1962
+ };
1963
+ }
1964
+ connectedCallback() {
1965
+ super.connectedCallback(), document.addEventListener("click", this.handleOutsideClick), this.addEventListener("keydown", this.handleKeydown);
1966
+ }
1967
+ disconnectedCallback() {
1968
+ super.disconnectedCallback(), document.removeEventListener("click", this.handleOutsideClick), this.removeEventListener("keydown", this.handleKeydown);
1689
1969
  }
1690
1970
  render() {
1691
- return l`
1692
- <nav aria-label=${this.label}>
1971
+ return c`
1972
+ <button
1973
+ type="button"
1974
+ class="toggle"
1975
+ aria-expanded=${this.mobileOpen ? "true" : "false"}
1976
+ aria-controls="nav"
1977
+ @click=${this.toggleMobile}
1978
+ >
1979
+ ${this.toggleLabel}
1980
+ <svg
1981
+ class="toggle-icon"
1982
+ viewBox="0 0 48 48"
1983
+ fill="none"
1984
+ stroke="currentColor"
1985
+ stroke-width="2"
1986
+ stroke-linecap="round"
1987
+ stroke-linejoin="round"
1988
+ aria-hidden="true"
1989
+ >
1990
+ ${this.mobileOpen ? m.close : m.menu}
1991
+ </svg>
1992
+ </button>
1993
+ <nav
1994
+ id="nav"
1995
+ class=${this.mobileOpen ? "open" : ""}
1996
+ aria-label=${this.label}
1997
+ @click=${this.handleNavClick}
1998
+ >
1693
1999
  <slot></slot>
1694
2000
  </nav>
1695
2001
  `;
1696
2002
  }
1697
2003
  };
1698
- he.styles = c`
2004
+ H.styles = d`
1699
2005
  :host {
1700
2006
  display: block;
1701
2007
  font-family: var(--vox-font-family-base);
1702
2008
  }
1703
2009
 
2010
+ .toggle {
2011
+ display: none;
2012
+ align-items: center;
2013
+ justify-content: space-between;
2014
+ width: 100%;
2015
+ gap: var(--vox-space-2);
2016
+ padding: var(--vox-space-2) var(--vox-space-3);
2017
+ background: none;
2018
+ border: 1px solid var(--vox-color-divider);
2019
+ border-radius: var(--vox-radius-md);
2020
+ color: var(--vox-color-text-1);
2021
+ font-family: inherit;
2022
+ font-size: 14px;
2023
+ font-weight: 600;
2024
+ cursor: pointer;
2025
+ }
2026
+
2027
+ .toggle:hover {
2028
+ border-color: var(--vox-color-brand-1);
2029
+ color: var(--vox-color-brand-1);
2030
+ }
2031
+
2032
+ .toggle:focus-visible {
2033
+ outline: 2px solid var(--vox-color-brand-1);
2034
+ outline-offset: 2px;
2035
+ }
2036
+
2037
+ .toggle-icon {
2038
+ width: 18px;
2039
+ height: 18px;
2040
+ flex: none;
2041
+ }
2042
+
1704
2043
  nav {
1705
2044
  display: flex;
1706
2045
  flex-direction: column;
1707
2046
  gap: 2px;
1708
2047
  }
2048
+
2049
+ @media (max-width: 768px) {
2050
+ .toggle {
2051
+ display: flex;
2052
+ }
2053
+
2054
+ nav {
2055
+ display: none;
2056
+ margin-top: var(--vox-space-2);
2057
+ }
2058
+
2059
+ nav.open {
2060
+ display: flex;
2061
+ }
2062
+ }
1709
2063
  `;
1710
- b([
2064
+ u([
1711
2065
  n()
1712
- ], he.prototype, "label", 2);
1713
- he = b([
1714
- d("vox-sidenav")
1715
- ], he);
1716
- let F = class extends v {
2066
+ ], H.prototype, "label", 2);
2067
+ u([
2068
+ n({ attribute: "toggle-label" })
2069
+ ], H.prototype, "toggleLabel", 2);
2070
+ u([
2071
+ Le()
2072
+ ], H.prototype, "mobileOpen", 2);
2073
+ H = u([
2074
+ p("vox-sidenav")
2075
+ ], H);
2076
+ let Z = class extends v {
1717
2077
  constructor() {
1718
2078
  super(...arguments), this.heading = "", this.open = !1;
1719
2079
  }
@@ -1721,7 +2081,7 @@ let F = class extends v {
1721
2081
  this.open = !this.open;
1722
2082
  }
1723
2083
  render() {
1724
- return l`
2084
+ return c`
1725
2085
  <button
1726
2086
  class="trigger"
1727
2087
  aria-expanded=${this.open ? "true" : "false"}
@@ -1736,7 +2096,7 @@ let F = class extends v {
1736
2096
  `;
1737
2097
  }
1738
2098
  };
1739
- F.styles = c`
2099
+ Z.styles = d`
1740
2100
  :host {
1741
2101
  display: block;
1742
2102
  font-family: var(--vox-font-family-base);
@@ -1793,35 +2153,44 @@ F.styles = c`
1793
2153
  display: flex;
1794
2154
  }
1795
2155
  `;
1796
- b([
2156
+ u([
1797
2157
  n()
1798
- ], F.prototype, "heading", 2);
1799
- b([
2158
+ ], Z.prototype, "heading", 2);
2159
+ u([
1800
2160
  n({ type: Boolean, reflect: !0 })
1801
- ], F.prototype, "open", 2);
1802
- F = b([
1803
- d("vox-sidenav-group")
1804
- ], F);
1805
- let I = class extends v {
2161
+ ], Z.prototype, "open", 2);
2162
+ Z = u([
2163
+ p("vox-sidenav-group")
2164
+ ], Z);
2165
+ let K = class extends v {
1806
2166
  constructor() {
1807
- super(...arguments), this.href = "#", this.current = !1;
2167
+ super(...arguments), this.href = "#", this.current = !1, this.hasIcon = !1;
2168
+ }
2169
+ handleIconSlotChange(t) {
2170
+ const o = t.target;
2171
+ this.hasIcon = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
1808
2172
  }
1809
2173
  render() {
1810
- return l`
2174
+ return c`
1811
2175
  <a href=${this.href} aria-current=${this.current ? "page" : "false"}>
2176
+ <span class="icon ${this.hasIcon ? "has-icon" : ""}">
2177
+ <slot name="icon" @slotchange=${this.handleIconSlotChange}></slot>
2178
+ </span>
1812
2179
  <slot></slot>
1813
2180
  </a>
1814
2181
  `;
1815
2182
  }
1816
2183
  };
1817
- I.styles = c`
2184
+ K.styles = d`
1818
2185
  :host {
1819
2186
  display: block;
1820
2187
  font-family: var(--vox-font-family-base);
1821
2188
  }
1822
2189
 
1823
2190
  a {
1824
- display: block;
2191
+ display: flex;
2192
+ align-items: center;
2193
+ gap: var(--vox-space-2);
1825
2194
  padding: var(--vox-space-2) var(--vox-space-3);
1826
2195
  border-radius: var(--vox-radius-sm);
1827
2196
  color: var(--vox-color-text-2);
@@ -1846,34 +2215,43 @@ I.styles = c`
1846
2215
  color: var(--vox-color-brand-1);
1847
2216
  font-weight: 600;
1848
2217
  }
2218
+
2219
+ .icon {
2220
+ display: flex;
2221
+ flex: none;
2222
+ }
2223
+
2224
+ .icon:not(.has-icon) {
2225
+ display: none;
2226
+ }
1849
2227
  `;
1850
- b([
2228
+ u([
1851
2229
  n()
1852
- ], I.prototype, "href", 2);
1853
- b([
2230
+ ], K.prototype, "href", 2);
2231
+ u([
1854
2232
  n({ type: Boolean, reflect: !0 })
1855
- ], I.prototype, "current", 2);
1856
- I = b([
1857
- d("vox-sidenav-item")
1858
- ], I);
1859
- var Wo = Object.defineProperty, Yo = Object.getOwnPropertyDescriptor, io = (t, o, a, r) => {
1860
- for (var e = r > 1 ? void 0 : r ? Yo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2233
+ ], K.prototype, "current", 2);
2234
+ K = u([
2235
+ 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--)
1861
2239
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1862
- return r && e && Wo(o, a, e), e;
2240
+ return r && e && st(o, a, e), e;
1863
2241
  };
1864
- let xe = class extends v {
2242
+ let me = class extends v {
1865
2243
  constructor() {
1866
2244
  super(...arguments), this.label = "Secondary";
1867
2245
  }
1868
2246
  render() {
1869
- return l`
2247
+ return c`
1870
2248
  <nav aria-label=${this.label}>
1871
2249
  <slot></slot>
1872
2250
  </nav>
1873
2251
  `;
1874
2252
  }
1875
2253
  };
1876
- xe.styles = c`
2254
+ me.styles = d`
1877
2255
  :host {
1878
2256
  display: block;
1879
2257
  font-family: var(--vox-font-family-base);
@@ -1908,18 +2286,18 @@ xe.styles = c`
1908
2286
  border-bottom-color: var(--vox-color-brand-1);
1909
2287
  }
1910
2288
  `;
1911
- io([
2289
+ xo([
1912
2290
  n()
1913
- ], xe.prototype, "label", 2);
1914
- xe = io([
1915
- d("vox-subnav")
1916
- ], xe);
1917
- var Zo = Object.defineProperty, Jo = Object.getOwnPropertyDescriptor, P = (t, o, a, r) => {
1918
- for (var e = r > 1 ? void 0 : r ? Jo(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2291
+ ], me.prototype, "label", 2);
2292
+ me = xo([
2293
+ 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--)
1919
2297
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
1920
- return r && e && Zo(o, a, e), e;
2298
+ return r && e && nt(o, a, e), e;
1921
2299
  };
1922
- let Ee = class extends v {
2300
+ let Ne = class extends v {
1923
2301
  get tabs() {
1924
2302
  return [...this.querySelectorAll("vox-tab")];
1925
2303
  }
@@ -1952,7 +2330,7 @@ let Ee = class extends v {
1952
2330
  s.select(), s.focusTab();
1953
2331
  }
1954
2332
  render() {
1955
- return l`
2333
+ return c`
1956
2334
  <div
1957
2335
  class="tablist"
1958
2336
  role="tablist"
@@ -1965,7 +2343,7 @@ let Ee = class extends v {
1965
2343
  `;
1966
2344
  }
1967
2345
  };
1968
- Ee.styles = c`
2346
+ Ne.styles = d`
1969
2347
  :host {
1970
2348
  display: block;
1971
2349
  }
@@ -1976,10 +2354,10 @@ Ee.styles = c`
1976
2354
  border-bottom: 1px solid var(--vox-color-divider);
1977
2355
  }
1978
2356
  `;
1979
- Ee = P([
1980
- d("vox-tabs")
1981
- ], Ee);
1982
- let R = class extends v {
2357
+ Ne = k([
2358
+ p("vox-tabs")
2359
+ ], Ne);
2360
+ let U = class extends v {
1983
2361
  constructor() {
1984
2362
  super(...arguments), this.panel = "", this.selected = !1;
1985
2363
  }
@@ -1993,7 +2371,7 @@ let R = class extends v {
1993
2371
  (t = this.renderRoot.querySelector(".tab")) == null || t.focus();
1994
2372
  }
1995
2373
  render() {
1996
- return l`
2374
+ return c`
1997
2375
  <button
1998
2376
  class="tab"
1999
2377
  role="tab"
@@ -2002,91 +2380,210 @@ let R = class extends v {
2002
2380
  @click=${this.select}
2003
2381
  >
2004
2382
  <slot></slot>
2005
- </button>
2383
+ </button>
2384
+ `;
2385
+ }
2386
+ };
2387
+ U.styles = d`
2388
+ :host {
2389
+ display: block;
2390
+ font-family: var(--vox-font-family-base);
2391
+ }
2392
+
2393
+ .tab {
2394
+ padding: var(--vox-space-2) var(--vox-space-4);
2395
+ margin-bottom: -1px;
2396
+ background: none;
2397
+ border: none;
2398
+ border-bottom: 2px solid transparent;
2399
+ color: var(--vox-color-text-2);
2400
+ font-family: inherit;
2401
+ font-size: 14px;
2402
+ font-weight: 600;
2403
+ cursor: pointer;
2404
+ transition: color var(--vox-transition-fast);
2405
+ }
2406
+
2407
+ .tab:hover {
2408
+ color: var(--vox-color-text-1);
2409
+ }
2410
+
2411
+ .tab:focus-visible {
2412
+ outline: 2px solid var(--vox-color-brand-1);
2413
+ outline-offset: -2px;
2414
+ border-radius: var(--vox-radius-sm);
2415
+ }
2416
+
2417
+ :host([selected]) .tab {
2418
+ color: var(--vox-color-brand-1);
2419
+ border-bottom-color: var(--vox-color-brand-1);
2420
+ }
2421
+ `;
2422
+ k([
2423
+ n()
2424
+ ], U.prototype, "panel", 2);
2425
+ k([
2426
+ n({ type: Boolean, reflect: !0 })
2427
+ ], U.prototype, "selected", 2);
2428
+ U = k([
2429
+ p("vox-tab")
2430
+ ], U);
2431
+ let G = class extends v {
2432
+ constructor() {
2433
+ super(...arguments), this.name = "", this.active = !1;
2434
+ }
2435
+ render() {
2436
+ return c`<div role="tabpanel"><slot></slot></div>`;
2437
+ }
2438
+ };
2439
+ G.styles = d`
2440
+ :host {
2441
+ display: none;
2442
+ font-family: var(--vox-font-family-base);
2443
+ font-size: 14px;
2444
+ line-height: 1.7;
2445
+ color: var(--vox-color-text-2);
2446
+ padding: var(--vox-space-4) 0;
2447
+ }
2448
+
2449
+ :host([active]) {
2450
+ display: block;
2451
+ }
2452
+ `;
2453
+ k([
2454
+ n()
2455
+ ], G.prototype, "name", 2);
2456
+ k([
2457
+ n({ type: Boolean, reflect: !0 })
2458
+ ], G.prototype, "active", 2);
2459
+ G = k([
2460
+ 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;
2466
+ };
2467
+ let ye = class extends v {
2468
+ constructor() {
2469
+ super(...arguments), this.heading = "On this page";
2470
+ }
2471
+ render() {
2472
+ return c`
2473
+ <div class="heading" id="vox-toc-heading">${this.heading}</div>
2474
+ <nav aria-labelledby="vox-toc-heading">
2475
+ <slot></slot>
2476
+ </nav>
2477
+ `;
2478
+ }
2479
+ };
2480
+ ye.styles = d`
2481
+ :host {
2482
+ display: block;
2483
+ font-family: var(--vox-font-family-base);
2484
+ }
2485
+
2486
+ .heading {
2487
+ margin: 0 0 var(--vox-space-2);
2488
+ padding-left: var(--vox-space-3);
2489
+ font-size: 13px;
2490
+ font-weight: 600;
2491
+ color: var(--vox-color-text-1);
2492
+ }
2493
+
2494
+ nav {
2495
+ display: flex;
2496
+ flex-direction: column;
2497
+ gap: 1px;
2498
+ border-left: 1px solid var(--vox-color-divider);
2499
+ }
2500
+ `;
2501
+ ve([
2502
+ n()
2503
+ ], ye.prototype, "heading", 2);
2504
+ ye = ve([
2505
+ p("vox-toc")
2506
+ ], ye);
2507
+ let X = class extends v {
2508
+ constructor() {
2509
+ super(...arguments), this.href = "#", this.current = !1, this.hasChildren = !1;
2510
+ }
2511
+ handleChildrenSlotChange(t) {
2512
+ const o = t.target;
2513
+ this.hasChildren = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
2514
+ }
2515
+ render() {
2516
+ return c`
2517
+ <a href=${this.href} aria-current=${this.current ? "true" : "false"}>
2518
+ <slot></slot>
2519
+ </a>
2520
+ <div class="children ${this.hasChildren ? "has-children" : ""}">
2521
+ <slot name="children" @slotchange=${this.handleChildrenSlotChange}></slot>
2522
+ </div>
2006
2523
  `;
2007
2524
  }
2008
2525
  };
2009
- R.styles = c`
2526
+ X.styles = d`
2010
2527
  :host {
2011
2528
  display: block;
2012
2529
  font-family: var(--vox-font-family-base);
2013
2530
  }
2014
2531
 
2015
- .tab {
2016
- padding: var(--vox-space-2) var(--vox-space-4);
2017
- margin-bottom: -1px;
2018
- background: none;
2019
- border: none;
2020
- border-bottom: 2px solid transparent;
2532
+ a {
2533
+ display: block;
2534
+ margin-left: -1px;
2535
+ padding: var(--vox-space-1) var(--vox-space-3);
2536
+ border-left: 2px solid transparent;
2021
2537
  color: var(--vox-color-text-2);
2022
- font-family: inherit;
2023
- font-size: 14px;
2024
- font-weight: 600;
2025
- cursor: pointer;
2026
- transition: color var(--vox-transition-fast);
2538
+ font-size: 13px;
2539
+ line-height: 1.5;
2540
+ text-decoration: none;
2541
+ transition:
2542
+ color var(--vox-transition-fast),
2543
+ border-color var(--vox-transition-fast);
2027
2544
  }
2028
2545
 
2029
- .tab:hover {
2546
+ a:hover {
2030
2547
  color: var(--vox-color-text-1);
2031
2548
  }
2032
2549
 
2033
- .tab:focus-visible {
2550
+ a:focus-visible {
2034
2551
  outline: 2px solid var(--vox-color-brand-1);
2035
2552
  outline-offset: -2px;
2036
- border-radius: var(--vox-radius-sm);
2037
2553
  }
2038
2554
 
2039
- :host([selected]) .tab {
2555
+ :host([current]) a {
2556
+ border-left-color: var(--vox-color-brand-1);
2040
2557
  color: var(--vox-color-brand-1);
2041
- border-bottom-color: var(--vox-color-brand-1);
2558
+ font-weight: 600;
2042
2559
  }
2043
- `;
2044
- P([
2045
- n()
2046
- ], R.prototype, "panel", 2);
2047
- P([
2048
- n({ type: Boolean, reflect: !0 })
2049
- ], R.prototype, "selected", 2);
2050
- R = P([
2051
- d("vox-tab")
2052
- ], R);
2053
- let H = class extends v {
2054
- constructor() {
2055
- super(...arguments), this.name = "", this.active = !1;
2056
- }
2057
- render() {
2058
- return l`<div role="tabpanel"><slot></slot></div>`;
2059
- }
2060
- };
2061
- H.styles = c`
2062
- :host {
2063
- display: none;
2064
- font-family: var(--vox-font-family-base);
2065
- font-size: 14px;
2066
- line-height: 1.7;
2067
- color: var(--vox-color-text-2);
2068
- padding: var(--vox-space-4) 0;
2560
+
2561
+ .children {
2562
+ display: flex;
2563
+ flex-direction: column;
2564
+ gap: 1px;
2565
+ padding-left: var(--vox-space-3);
2069
2566
  }
2070
2567
 
2071
- :host([active]) {
2072
- display: block;
2568
+ .children:not(.has-children) {
2569
+ display: none;
2073
2570
  }
2074
2571
  `;
2075
- P([
2572
+ ve([
2076
2573
  n()
2077
- ], H.prototype, "name", 2);
2078
- P([
2574
+ ], X.prototype, "href", 2);
2575
+ ve([
2079
2576
  n({ type: Boolean, reflect: !0 })
2080
- ], H.prototype, "active", 2);
2081
- H = P([
2082
- d("vox-tab-panel")
2083
- ], H);
2084
- var et = Object.defineProperty, ot = Object.getOwnPropertyDescriptor, ne = (t, o, a, r) => {
2085
- for (var e = r > 1 ? void 0 : r ? ot(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2577
+ ], X.prototype, "current", 2);
2578
+ X = ve([
2579
+ 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--)
2086
2583
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2087
- return r && e && et(o, a, e), e;
2584
+ return r && e && pt(o, a, e), e;
2088
2585
  };
2089
- let w = class extends v {
2586
+ let _ = class extends v {
2090
2587
  constructor() {
2091
2588
  super(...arguments), this.heading = "", this.open = !1, this.lightDismiss = !1, this.hasFooter = !1;
2092
2589
  }
@@ -2112,9 +2609,9 @@ let w = class extends v {
2112
2609
  this.hasFooter = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
2113
2610
  }
2114
2611
  render() {
2115
- return l`
2612
+ return c`
2116
2613
  <dialog
2117
- aria-label=${this.heading || p}
2614
+ aria-label=${this.heading || h}
2118
2615
  @close=${this.handleNativeClose}
2119
2616
  @click=${this.handleClick}
2120
2617
  >
@@ -2134,7 +2631,7 @@ let w = class extends v {
2134
2631
  `;
2135
2632
  }
2136
2633
  };
2137
- w.styles = c`
2634
+ _.styles = d`
2138
2635
  dialog {
2139
2636
  box-sizing: border-box;
2140
2637
  width: min(90vw, 480px);
@@ -2221,27 +2718,27 @@ w.styles = c`
2221
2718
  margin-bottom: 0;
2222
2719
  }
2223
2720
  `;
2224
- ne([
2721
+ he([
2225
2722
  n()
2226
- ], w.prototype, "heading", 2);
2227
- ne([
2723
+ ], _.prototype, "heading", 2);
2724
+ he([
2228
2725
  n({ type: Boolean })
2229
- ], w.prototype, "open", 2);
2230
- ne([
2726
+ ], _.prototype, "open", 2);
2727
+ he([
2231
2728
  n({ type: Boolean, attribute: "light-dismiss" })
2232
- ], w.prototype, "lightDismiss", 2);
2233
- ne([
2234
- qe("dialog")
2235
- ], w.prototype, "dialogEl", 2);
2236
- w = ne([
2237
- d("vox-dialog")
2238
- ], w);
2239
- var tt = Object.defineProperty, rt = Object.getOwnPropertyDescriptor, Re = (t, o, a, r) => {
2240
- for (var e = r > 1 ? void 0 : r ? rt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2729
+ ], _.prototype, "lightDismiss", 2);
2730
+ he([
2731
+ Ze("dialog")
2732
+ ], _.prototype, "dialogEl", 2);
2733
+ _ = he([
2734
+ 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--)
2241
2738
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2242
- return r && e && tt(o, a, e), e;
2739
+ return r && e && ht(o, a, e), e;
2243
2740
  };
2244
- let U = class extends v {
2741
+ let Q = class extends v {
2245
2742
  constructor() {
2246
2743
  super(...arguments), this.summary = "Show details", this.open = !1;
2247
2744
  }
@@ -2251,7 +2748,7 @@ let U = class extends v {
2251
2748
  );
2252
2749
  }
2253
2750
  render() {
2254
- return l`
2751
+ return c`
2255
2752
  <button
2256
2753
  class="trigger"
2257
2754
  aria-expanded=${this.open ? "true" : "false"}
@@ -2268,7 +2765,7 @@ let U = class extends v {
2268
2765
  `;
2269
2766
  }
2270
2767
  };
2271
- U.styles = c`
2768
+ Q.styles = d`
2272
2769
  :host {
2273
2770
  display: block;
2274
2771
  font-family: var(--vox-font-family-base);
@@ -2320,21 +2817,21 @@ U.styles = c`
2320
2817
  display: none;
2321
2818
  }
2322
2819
  `;
2323
- Re([
2820
+ We([
2324
2821
  n()
2325
- ], U.prototype, "summary", 2);
2326
- Re([
2822
+ ], Q.prototype, "summary", 2);
2823
+ We([
2327
2824
  n({ type: Boolean, reflect: !0 })
2328
- ], U.prototype, "open", 2);
2329
- U = Re([
2330
- d("vox-disclosure")
2331
- ], U);
2332
- var at = Object.defineProperty, st = Object.getOwnPropertyDescriptor, He = (t, o, a, r) => {
2333
- for (var e = r > 1 ? void 0 : r ? st(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2825
+ ], Q.prototype, "open", 2);
2826
+ Q = We([
2827
+ 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--)
2334
2831
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2335
- return r && e && at(o, a, e), e;
2832
+ return r && e && ut(o, a, e), e;
2336
2833
  };
2337
- let K = class extends v {
2834
+ let W = class extends v {
2338
2835
  constructor() {
2339
2836
  super(...arguments), this.label = "Menu", this.open = !1, this.handleOutsideClick = (t) => {
2340
2837
  this.open && !t.composedPath().includes(this) && (this.open = !1);
@@ -2363,7 +2860,7 @@ let K = class extends v {
2363
2860
  this.open = !this.open;
2364
2861
  }
2365
2862
  render() {
2366
- return l`
2863
+ return c`
2367
2864
  <button
2368
2865
  class="trigger"
2369
2866
  aria-expanded=${this.open ? "true" : "false"}
@@ -2381,7 +2878,7 @@ let K = class extends v {
2381
2878
  `;
2382
2879
  }
2383
2880
  };
2384
- K.styles = c`
2881
+ W.styles = d`
2385
2882
  :host {
2386
2883
  position: relative;
2387
2884
  display: inline-block;
@@ -2480,21 +2977,21 @@ K.styles = c`
2480
2977
  border-top: 1px solid var(--vox-color-divider);
2481
2978
  }
2482
2979
  `;
2483
- He([
2980
+ Ye([
2484
2981
  n()
2485
- ], K.prototype, "label", 2);
2486
- He([
2982
+ ], W.prototype, "label", 2);
2983
+ Ye([
2487
2984
  n({ type: Boolean, reflect: !0 })
2488
- ], K.prototype, "open", 2);
2489
- K = He([
2490
- d("vox-dropdown")
2491
- ], K);
2492
- var it = Object.defineProperty, nt = Object.getOwnPropertyDescriptor, le = (t, o, a, r) => {
2493
- for (var e = r > 1 ? void 0 : r ? nt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
2985
+ ], W.prototype, "open", 2);
2986
+ W = Ye([
2987
+ 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--)
2494
2991
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2495
- return r && e && it(o, a, e), e;
2992
+ return r && e && gt(o, a, e), e;
2496
2993
  };
2497
- let ue = class extends v {
2994
+ let we = class extends v {
2498
2995
  constructor() {
2499
2996
  super(...arguments), this.single = !1;
2500
2997
  }
@@ -2508,10 +3005,10 @@ let ue = class extends v {
2508
3005
  );
2509
3006
  }
2510
3007
  render() {
2511
- return l`<slot @vox-toggle=${this.handleToggle}></slot>`;
3008
+ return c`<slot @vox-toggle=${this.handleToggle}></slot>`;
2512
3009
  }
2513
3010
  };
2514
- ue.styles = c`
3011
+ we.styles = d`
2515
3012
  :host {
2516
3013
  display: block;
2517
3014
  border: 1px solid var(--vox-color-divider);
@@ -2523,13 +3020,13 @@ ue.styles = c`
2523
3020
  border-top: 1px solid var(--vox-color-divider);
2524
3021
  }
2525
3022
  `;
2526
- le([
3023
+ xe([
2527
3024
  n({ type: Boolean })
2528
- ], ue.prototype, "single", 2);
2529
- ue = le([
2530
- d("vox-accordion")
2531
- ], ue);
2532
- let G = class extends v {
3025
+ ], we.prototype, "single", 2);
3026
+ we = xe([
3027
+ p("vox-accordion")
3028
+ ], we);
3029
+ let Y = class extends v {
2533
3030
  constructor() {
2534
3031
  super(...arguments), this.heading = "", this.open = !1;
2535
3032
  }
@@ -2539,7 +3036,7 @@ let G = class extends v {
2539
3036
  );
2540
3037
  }
2541
3038
  render() {
2542
- return l`
3039
+ return c`
2543
3040
  <h3 style="margin:0">
2544
3041
  <button
2545
3042
  class="trigger"
@@ -2558,7 +3055,7 @@ let G = class extends v {
2558
3055
  `;
2559
3056
  }
2560
3057
  };
2561
- G.styles = c`
3058
+ Y.styles = d`
2562
3059
  :host {
2563
3060
  display: block;
2564
3061
  font-family: var(--vox-font-family-base);
@@ -2620,21 +3117,27 @@ G.styles = c`
2620
3117
  margin-bottom: 0;
2621
3118
  }
2622
3119
  `;
2623
- le([
3120
+ xe([
2624
3121
  n()
2625
- ], G.prototype, "heading", 2);
2626
- le([
3122
+ ], Y.prototype, "heading", 2);
3123
+ xe([
2627
3124
  n({ type: Boolean, reflect: !0 })
2628
- ], G.prototype, "open", 2);
2629
- G = le([
2630
- d("vox-accordion-item")
2631
- ], G);
2632
- var lt = Object.defineProperty, ct = Object.getOwnPropertyDescriptor, ce = (t, o, a, r) => {
2633
- for (var e = r > 1 ? void 0 : r ? ct(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3125
+ ], Y.prototype, "open", 2);
3126
+ Y = xe([
3127
+ 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--)
2634
3131
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2635
- return r && e && lt(o, a, e), e;
3132
+ return r && e && mt(o, a, e), e;
2636
3133
  };
2637
- let $ = class extends v {
3134
+ const wt = {
3135
+ info: "info",
3136
+ success: "check-circle",
3137
+ warning: "warning",
3138
+ danger: "x-circle"
3139
+ };
3140
+ let C = class extends v {
2638
3141
  constructor() {
2639
3142
  super(...arguments), this.variant = "info", this.heading = "", this.dismissible = !1, this.open = !0;
2640
3143
  }
@@ -2644,24 +3147,36 @@ let $ = class extends v {
2644
3147
  );
2645
3148
  }
2646
3149
  render() {
2647
- return l`
3150
+ return c`
2648
3151
  <div class="alert ${this.variant}" role="alert">
3152
+ <svg
3153
+ class="icon"
3154
+ viewBox="0 0 48 48"
3155
+ fill="none"
3156
+ stroke="currentColor"
3157
+ stroke-width="2"
3158
+ stroke-linecap="round"
3159
+ stroke-linejoin="round"
3160
+ aria-hidden="true"
3161
+ >
3162
+ ${m[wt[this.variant]]}
3163
+ </svg>
2649
3164
  <div class="body">
2650
- ${this.heading ? l`<p class="heading">${this.heading}</p>` : p}
3165
+ ${this.heading ? c`<p class="heading">${this.heading}</p>` : h}
2651
3166
  <slot></slot>
2652
3167
  </div>
2653
- ${this.dismissible ? l`
3168
+ ${this.dismissible ? c`
2654
3169
  <button class="close" aria-label="Dismiss" @click=${this.dismiss}>
2655
3170
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true">
2656
3171
  <path d="M18 6 6 18M6 6l12 12" />
2657
3172
  </svg>
2658
3173
  </button>
2659
- ` : p}
3174
+ ` : h}
2660
3175
  </div>
2661
3176
  `;
2662
3177
  }
2663
3178
  };
2664
- $.styles = c`
3179
+ C.styles = d`
2665
3180
  :host {
2666
3181
  display: block;
2667
3182
  font-family: var(--vox-font-family-base);
@@ -2687,6 +3202,13 @@ $.styles = c`
2687
3202
  flex: 1 1 auto;
2688
3203
  }
2689
3204
 
3205
+ .icon {
3206
+ flex: none;
3207
+ width: 20px;
3208
+ height: 20px;
3209
+ margin-top: 1px;
3210
+ }
3211
+
2690
3212
  .heading {
2691
3213
  margin: 0 0 var(--vox-space-1);
2692
3214
  font-size: 14px;
@@ -2700,6 +3222,9 @@ $.styles = c`
2700
3222
  .info .heading {
2701
3223
  color: var(--vox-color-brand-1);
2702
3224
  }
3225
+ .info .icon {
3226
+ color: var(--vox-color-brand-1);
3227
+ }
2703
3228
 
2704
3229
  .success {
2705
3230
  background-color: var(--vox-color-tip-soft);
@@ -2708,6 +3233,9 @@ $.styles = c`
2708
3233
  .success .heading {
2709
3234
  color: var(--vox-color-tip-1);
2710
3235
  }
3236
+ .success .icon {
3237
+ color: var(--vox-color-tip-1);
3238
+ }
2711
3239
 
2712
3240
  .warning {
2713
3241
  background-color: var(--vox-color-warning-soft);
@@ -2716,6 +3244,9 @@ $.styles = c`
2716
3244
  .warning .heading {
2717
3245
  color: var(--vox-color-warning-1);
2718
3246
  }
3247
+ .warning .icon {
3248
+ color: var(--vox-color-warning-1);
3249
+ }
2719
3250
 
2720
3251
  .danger {
2721
3252
  background-color: var(--vox-color-danger-soft);
@@ -2724,6 +3255,9 @@ $.styles = c`
2724
3255
  .danger .heading {
2725
3256
  color: var(--vox-color-danger-1);
2726
3257
  }
3258
+ .danger .icon {
3259
+ color: var(--vox-color-danger-1);
3260
+ }
2727
3261
 
2728
3262
  .close {
2729
3263
  flex: none;
@@ -2761,35 +3295,35 @@ $.styles = c`
2761
3295
  margin-bottom: 0;
2762
3296
  }
2763
3297
  `;
2764
- ce([
3298
+ ue([
2765
3299
  n()
2766
- ], $.prototype, "variant", 2);
2767
- ce([
3300
+ ], C.prototype, "variant", 2);
3301
+ ue([
2768
3302
  n()
2769
- ], $.prototype, "heading", 2);
2770
- ce([
3303
+ ], C.prototype, "heading", 2);
3304
+ ue([
2771
3305
  n({ type: Boolean })
2772
- ], $.prototype, "dismissible", 2);
2773
- ce([
3306
+ ], C.prototype, "dismissible", 2);
3307
+ ue([
2774
3308
  n({ type: Boolean, reflect: !0 })
2775
- ], $.prototype, "open", 2);
2776
- $ = ce([
2777
- d("vox-alert")
2778
- ], $);
2779
- var dt = Object.defineProperty, vt = Object.getOwnPropertyDescriptor, no = (t, o, a, r) => {
2780
- for (var e = r > 1 ? void 0 : r ? vt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3309
+ ], C.prototype, "open", 2);
3310
+ C = ue([
3311
+ 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--)
2781
3315
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2782
- return r && e && dt(o, a, e), e;
3316
+ return r && e && $t(o, a, e), e;
2783
3317
  };
2784
- let fe = class extends v {
3318
+ let $e = class extends v {
2785
3319
  constructor() {
2786
3320
  super(...arguments), this.variant = "brand";
2787
3321
  }
2788
3322
  render() {
2789
- return l`<span class="badge ${this.variant}"><slot></slot></span>`;
3323
+ return c`<span class="badge ${this.variant}"><slot></slot></span>`;
2790
3324
  }
2791
3325
  };
2792
- fe.styles = c`
3326
+ $e.styles = d`
2793
3327
  :host {
2794
3328
  display: inline-block;
2795
3329
  }
@@ -2831,24 +3365,24 @@ fe.styles = c`
2831
3365
  color: var(--vox-color-text-2);
2832
3366
  }
2833
3367
  `;
2834
- no([
3368
+ uo([
2835
3369
  n()
2836
- ], fe.prototype, "variant", 2);
2837
- fe = no([
2838
- d("vox-badge")
2839
- ], fe);
2840
- var pt = Object.defineProperty, ht = Object.getOwnPropertyDescriptor, Ue = (t, o, a, r) => {
2841
- for (var e = r > 1 ? void 0 : r ? ht(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3370
+ ], $e.prototype, "variant", 2);
3371
+ $e = uo([
3372
+ 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--)
2842
3376
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2843
- return r && e && pt(o, a, e), e;
3377
+ return r && e && Ct(o, a, e), e;
2844
3378
  };
2845
- let X = class extends v {
3379
+ let J = class extends v {
2846
3380
  constructor() {
2847
3381
  super(...arguments), this.date = "";
2848
3382
  }
2849
3383
  render() {
2850
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() : "–";
2851
- return l`
3385
+ return c`
2852
3386
  <time class="tile" datetime=${this.date}>
2853
3387
  <span class="month">${a}</span>
2854
3388
  <span class="day">${r}</span>
@@ -2856,7 +3390,7 @@ let X = class extends v {
2856
3390
  `;
2857
3391
  }
2858
3392
  };
2859
- X.styles = c`
3393
+ J.styles = d`
2860
3394
  :host {
2861
3395
  display: inline-block;
2862
3396
  font-family: var(--vox-font-family-base);
@@ -2892,45 +3426,67 @@ X.styles = c`
2892
3426
  color: var(--vox-color-text-1);
2893
3427
  }
2894
3428
  `;
2895
- Ue([
3429
+ Je([
2896
3430
  n()
2897
- ], X.prototype, "date", 2);
2898
- Ue([
3431
+ ], J.prototype, "date", 2);
3432
+ Je([
2899
3433
  n()
2900
- ], X.prototype, "locale", 2);
2901
- X = Ue([
2902
- d("vox-calendar-tile")
2903
- ], X);
2904
- var xt = Object.defineProperty, ut = Object.getOwnPropertyDescriptor, Ke = (t, o, a, r) => {
2905
- for (var e = r > 1 ? void 0 : r ? ut(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3434
+ ], J.prototype, "locale", 2);
3435
+ J = Je([
3436
+ 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--)
2906
3440
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2907
- return r && e && xt(o, a, e), e;
3441
+ return r && e && Ot(o, a, e), e;
2908
3442
  };
2909
- const ft = {
3443
+ const Lt = {
2910
3444
  info: "Info",
2911
3445
  tip: "Tip",
2912
3446
  warning: "Warning",
2913
3447
  danger: "Danger"
3448
+ }, Pt = {
3449
+ info: "info",
3450
+ tip: "check-circle",
3451
+ warning: "warning",
3452
+ danger: "x-circle"
2914
3453
  };
2915
- let Q = class extends v {
3454
+ let ee = class extends v {
2916
3455
  constructor() {
2917
3456
  super(...arguments), this.variant = "info";
2918
3457
  }
2919
3458
  render() {
2920
- return l`
3459
+ return c`
2921
3460
  <div class="callout ${this.variant}" role="note">
2922
- <p class="heading">${this.heading ?? ft[this.variant]}</p>
2923
- <slot></slot>
3461
+ <svg
3462
+ class="icon"
3463
+ viewBox="0 0 48 48"
3464
+ fill="none"
3465
+ stroke="currentColor"
3466
+ stroke-width="2"
3467
+ stroke-linecap="round"
3468
+ stroke-linejoin="round"
3469
+ aria-hidden="true"
3470
+ >
3471
+ ${m[Pt[this.variant]]}
3472
+ </svg>
3473
+ <div class="content">
3474
+ <p class="heading">${this.heading ?? Lt[this.variant]}</p>
3475
+ <slot></slot>
3476
+ </div>
2924
3477
  </div>
2925
3478
  `;
2926
3479
  }
2927
3480
  };
2928
- Q.styles = c`
3481
+ ee.styles = d`
2929
3482
  :host {
2930
3483
  display: block;
2931
3484
  }
2932
3485
 
2933
3486
  .callout {
3487
+ display: flex;
3488
+ gap: var(--vox-space-3);
3489
+ align-items: flex-start;
2934
3490
  border-radius: var(--vox-radius-md);
2935
3491
  padding: var(--vox-space-4);
2936
3492
  font-family: var(--vox-font-family-base);
@@ -2939,6 +3495,18 @@ Q.styles = c`
2939
3495
  color: var(--vox-color-text-2);
2940
3496
  }
2941
3497
 
3498
+ .icon {
3499
+ flex: none;
3500
+ width: 18px;
3501
+ height: 18px;
3502
+ margin-top: 2px;
3503
+ }
3504
+
3505
+ .content {
3506
+ flex: 1 1 auto;
3507
+ min-width: 0;
3508
+ }
3509
+
2942
3510
  .heading {
2943
3511
  margin: 0 0 var(--vox-space-2);
2944
3512
  font-size: 14px;
@@ -2951,6 +3519,9 @@ Q.styles = c`
2951
3519
  .info .heading {
2952
3520
  color: var(--vox-color-text-1);
2953
3521
  }
3522
+ .info .icon {
3523
+ color: var(--vox-color-text-1);
3524
+ }
2954
3525
 
2955
3526
  .tip {
2956
3527
  background-color: var(--vox-color-tip-soft);
@@ -2958,6 +3529,9 @@ Q.styles = c`
2958
3529
  .tip .heading {
2959
3530
  color: var(--vox-color-tip-1);
2960
3531
  }
3532
+ .tip .icon {
3533
+ color: var(--vox-color-tip-1);
3534
+ }
2961
3535
 
2962
3536
  .warning {
2963
3537
  background-color: var(--vox-color-warning-soft);
@@ -2965,6 +3539,9 @@ Q.styles = c`
2965
3539
  .warning .heading {
2966
3540
  color: var(--vox-color-warning-1);
2967
3541
  }
3542
+ .warning .icon {
3543
+ color: var(--vox-color-warning-1);
3544
+ }
2968
3545
 
2969
3546
  .danger {
2970
3547
  background-color: var(--vox-color-danger-soft);
@@ -2972,6 +3549,9 @@ Q.styles = c`
2972
3549
  .danger .heading {
2973
3550
  color: var(--vox-color-danger-1);
2974
3551
  }
3552
+ .danger .icon {
3553
+ color: var(--vox-color-danger-1);
3554
+ }
2975
3555
 
2976
3556
  ::slotted(p:first-child) {
2977
3557
  margin-top: 0;
@@ -2981,21 +3561,21 @@ Q.styles = c`
2981
3561
  margin-bottom: 0;
2982
3562
  }
2983
3563
  `;
2984
- Ke([
3564
+ eo([
2985
3565
  n()
2986
- ], Q.prototype, "variant", 2);
2987
- Ke([
3566
+ ], ee.prototype, "variant", 2);
3567
+ eo([
2988
3568
  n()
2989
- ], Q.prototype, "heading", 2);
2990
- Q = Ke([
2991
- d("vox-callout")
2992
- ], Q);
2993
- var bt = Object.defineProperty, gt = Object.getOwnPropertyDescriptor, Oe = (t, o, a, r) => {
2994
- for (var e = r > 1 ? void 0 : r ? gt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3569
+ ], ee.prototype, "heading", 2);
3570
+ ee = eo([
3571
+ 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--)
2995
3575
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
2996
- return r && e && bt(o, a, e), e;
3576
+ return r && e && Vt(o, a, e), e;
2997
3577
  };
2998
- let z = class extends v {
3578
+ let E = class extends v {
2999
3579
  constructor() {
3000
3580
  super(...arguments), this.heading = "", this.hasIcon = !1, this.hasBadge = !1, this.hasFooter = !1;
3001
3581
  }
@@ -3012,7 +3592,7 @@ let z = class extends v {
3012
3592
  this.hasFooter = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3013
3593
  }
3014
3594
  render() {
3015
- const t = l`
3595
+ const t = c`
3016
3596
  <div class="badge ${this.hasBadge ? "has-badge" : ""}">
3017
3597
  <slot name="badge" @slotchange=${this.handleBadgeSlotChange}></slot>
3018
3598
  </div>
@@ -3025,10 +3605,10 @@ let z = class extends v {
3025
3605
  <slot name="footer" @slotchange=${this.handleFooterSlotChange}></slot>
3026
3606
  </div>
3027
3607
  `;
3028
- return this.href !== void 0 ? l`<a class="card" href=${this.href} target=${this.target ?? p}>${t}</a>` : l`<div class="card">${t}</div>`;
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>`;
3029
3609
  }
3030
3610
  };
3031
- z.styles = c`
3611
+ E.styles = d`
3032
3612
  :host {
3033
3613
  display: block;
3034
3614
  }
@@ -3044,6 +3624,11 @@ z.styles = c`
3044
3624
  border-radius: var(--vox-radius-lg);
3045
3625
  padding: var(--vox-space-6);
3046
3626
  font-family: var(--vox-font-family-base);
3627
+ /* Slotted content (e.g. an icon using stroke="currentColor")
3628
+ inherits from this element's position in the flat tree — when
3629
+ rendered as an <a>, that means the browser's default link color
3630
+ without this, since nothing else in .card sets one. */
3631
+ color: var(--vox-color-text-1);
3047
3632
  text-decoration: none;
3048
3633
  transition: border-color var(--vox-transition-base);
3049
3634
  }
@@ -3108,24 +3693,24 @@ z.styles = c`
3108
3693
  display: none;
3109
3694
  }
3110
3695
  `;
3111
- Oe([
3696
+ ze([
3112
3697
  n()
3113
- ], z.prototype, "heading", 2);
3114
- Oe([
3698
+ ], E.prototype, "heading", 2);
3699
+ ze([
3115
3700
  n()
3116
- ], z.prototype, "href", 2);
3117
- Oe([
3701
+ ], E.prototype, "href", 2);
3702
+ ze([
3118
3703
  n()
3119
- ], z.prototype, "target", 2);
3120
- z = Oe([
3121
- d("vox-card")
3122
- ], z);
3123
- var mt = Object.defineProperty, yt = Object.getOwnPropertyDescriptor, lo = (t, o, a, r) => {
3124
- for (var e = r > 1 ? void 0 : r ? yt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3704
+ ], E.prototype, "target", 2);
3705
+ E = ze([
3706
+ 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--)
3125
3710
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3126
- return r && e && mt(o, a, e), e;
3711
+ return r && e && Dt(o, a, e), e;
3127
3712
  };
3128
- let be = class extends v {
3713
+ let _e = class extends v {
3129
3714
  constructor() {
3130
3715
  super(...arguments), this.heading = "", this.hasBody = !1, this.hasActions = !1;
3131
3716
  }
@@ -3138,9 +3723,9 @@ let be = class extends v {
3138
3723
  this.hasActions = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3139
3724
  }
3140
3725
  render() {
3141
- return l`
3726
+ return c`
3142
3727
  <div class="band">
3143
- ${this.heading ? l`<h2 class="heading">${this.heading}</h2>` : p}
3728
+ ${this.heading ? c`<h2 class="heading">${this.heading}</h2>` : h}
3144
3729
  <div class="body ${this.hasBody ? "has-content" : ""}">
3145
3730
  <slot @slotchange=${this.handleBodySlotChange}></slot>
3146
3731
  </div>
@@ -3151,7 +3736,7 @@ let be = class extends v {
3151
3736
  `;
3152
3737
  }
3153
3738
  };
3154
- be.styles = c`
3739
+ _e.styles = d`
3155
3740
  :host {
3156
3741
  display: block;
3157
3742
  font-family: var(--vox-font-family-base);
@@ -3206,23 +3791,23 @@ be.styles = c`
3206
3791
  display: none;
3207
3792
  }
3208
3793
  `;
3209
- lo([
3794
+ fo([
3210
3795
  n()
3211
- ], be.prototype, "heading", 2);
3212
- be = lo([
3213
- d("vox-cta-band")
3214
- ], be);
3215
- var wt = Object.defineProperty, $t = Object.getOwnPropertyDescriptor, co = (t, o, a, r) => {
3216
- for (var e = r > 1 ? void 0 : r ? $t(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3796
+ ], _e.prototype, "heading", 2);
3797
+ _e = fo([
3798
+ 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--)
3217
3802
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3218
- return r && e && wt(o, a, e), e;
3803
+ return r && e && Ht(o, a, e), e;
3219
3804
  };
3220
- let ge = class extends v {
3805
+ let Ce = class extends v {
3221
3806
  constructor() {
3222
3807
  super(...arguments), this.heading = "";
3223
3808
  }
3224
3809
  render() {
3225
- return l`
3810
+ return c`
3226
3811
  <div class="empty">
3227
3812
  <div class="icon"><slot name="icon"></slot></div>
3228
3813
  <h3 class="heading">${this.heading}</h3>
@@ -3232,7 +3817,7 @@ let ge = class extends v {
3232
3817
  `;
3233
3818
  }
3234
3819
  };
3235
- ge.styles = c`
3820
+ Ce.styles = d`
3236
3821
  :host {
3237
3822
  display: block;
3238
3823
  font-family: var(--vox-font-family-base);
@@ -3276,20 +3861,20 @@ ge.styles = c`
3276
3861
  margin-top: var(--vox-space-4);
3277
3862
  }
3278
3863
  `;
3279
- co([
3864
+ go([
3280
3865
  n()
3281
- ], ge.prototype, "heading", 2);
3282
- ge = co([
3283
- d("vox-empty-state")
3284
- ], ge);
3285
- var _t = Object.defineProperty, Ot = Object.getOwnPropertyDescriptor, Ge = (t, o, a, r) => {
3286
- for (var e = r > 1 ? void 0 : r ? Ot(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3866
+ ], Ce.prototype, "heading", 2);
3867
+ Ce = go([
3868
+ 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--)
3287
3872
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3288
- return r && e && _t(o, a, e), e;
3873
+ return r && e && St(o, a, e), e;
3289
3874
  };
3290
- let Se = class extends v {
3875
+ let Ie = class extends v {
3291
3876
  render() {
3292
- return l`
3877
+ return c`
3293
3878
  <footer>
3294
3879
  <div class="inner">
3295
3880
  <div class="columns"><slot></slot></div>
@@ -3299,7 +3884,7 @@ let Se = class extends v {
3299
3884
  `;
3300
3885
  }
3301
3886
  };
3302
- Se.styles = c`
3887
+ Ie.styles = d`
3303
3888
  :host {
3304
3889
  display: block;
3305
3890
  font-family: var(--vox-font-family-base);
@@ -3327,21 +3912,21 @@ Se.styles = c`
3327
3912
  color: var(--vox-color-text-3);
3328
3913
  }
3329
3914
  `;
3330
- Se = Ge([
3331
- d("vox-footer")
3332
- ], Se);
3333
- let me = class extends v {
3915
+ Ie = oo([
3916
+ p("vox-footer")
3917
+ ], Ie);
3918
+ let Me = class extends v {
3334
3919
  constructor() {
3335
3920
  super(...arguments), this.heading = "";
3336
3921
  }
3337
3922
  render() {
3338
- return l`
3923
+ return c`
3339
3924
  <h3 class="heading">${this.heading}</h3>
3340
3925
  <div class="links"><slot></slot></div>
3341
3926
  `;
3342
3927
  }
3343
3928
  };
3344
- me.styles = c`
3929
+ Me.styles = d`
3345
3930
  :host {
3346
3931
  display: block;
3347
3932
  font-family: var(--vox-font-family-base);
@@ -3373,18 +3958,18 @@ me.styles = c`
3373
3958
  text-decoration: underline;
3374
3959
  }
3375
3960
  `;
3376
- Ge([
3961
+ oo([
3377
3962
  n()
3378
- ], me.prototype, "heading", 2);
3379
- me = Ge([
3380
- d("vox-footer-column")
3381
- ], me);
3382
- var Pt = Object.defineProperty, Ct = Object.getOwnPropertyDescriptor, Pe = (t, o, a, r) => {
3383
- for (var e = r > 1 ? void 0 : r ? Ct(o, a) : o, s = t.length - 1, i; s >= 0; s--)
3963
+ ], Me.prototype, "heading", 2);
3964
+ Me = oo([
3965
+ p("vox-footer-column")
3966
+ ], 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--)
3384
3969
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3385
- return r && e && Pt(o, a, e), e;
3970
+ return r && e && Bt(o, a, e), e;
3386
3971
  };
3387
- let E = class extends v {
3972
+ let S = class extends v {
3388
3973
  constructor() {
3389
3974
  super(...arguments), this.cols = 0, this.min = "240px", this.gap = "md";
3390
3975
  }
@@ -3392,10 +3977,10 @@ let E = class extends v {
3392
3977
  this.style.gridTemplateColumns = this.cols > 0 ? `repeat(${this.cols}, minmax(0, 1fr))` : `repeat(auto-fit, minmax(min(${this.min}, 100%), 1fr))`;
3393
3978
  }
3394
3979
  render() {
3395
- return l`<slot></slot>`;
3980
+ return c`<slot></slot>`;
3396
3981
  }
3397
3982
  };
3398
- E.styles = c`
3983
+ S.styles = d`
3399
3984
  :host {
3400
3985
  display: grid;
3401
3986
  }
@@ -3412,24 +3997,24 @@ E.styles = c`
3412
3997
  gap: var(--vox-space-6);
3413
3998
  }
3414
3999
  `;
3415
- Pe([
4000
+ He([
3416
4001
  n({ type: Number })
3417
- ], E.prototype, "cols", 2);
3418
- Pe([
4002
+ ], S.prototype, "cols", 2);
4003
+ He([
3419
4004
  n()
3420
- ], E.prototype, "min", 2);
3421
- Pe([
4005
+ ], S.prototype, "min", 2);
4006
+ He([
3422
4007
  n({ reflect: !0 })
3423
- ], E.prototype, "gap", 2);
3424
- E = Pe([
3425
- d("vox-grid")
3426
- ], E);
3427
- var jt = Object.defineProperty, Dt = Object.getOwnPropertyDescriptor, Xe = (t, o, a, r) => {
3428
- for (var e = r > 1 ? void 0 : r ? Dt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4008
+ ], S.prototype, "gap", 2);
4009
+ S = He([
4010
+ 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--)
3429
4014
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3430
- return r && e && jt(o, a, e), e;
4015
+ return r && e && Nt(o, a, e), e;
3431
4016
  };
3432
- let W = class extends v {
4017
+ let oe = class extends v {
3433
4018
  constructor() {
3434
4019
  super(...arguments), this.eyebrow = "", this.heading = "", this.hasActions = !1;
3435
4020
  }
@@ -3438,9 +4023,9 @@ let W = class extends v {
3438
4023
  this.hasActions = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3439
4024
  }
3440
4025
  render() {
3441
- return l`
4026
+ return c`
3442
4027
  <header class="hero">
3443
- ${this.eyebrow ? l`<p class="eyebrow">${this.eyebrow}</p>` : p}
4028
+ ${this.eyebrow ? c`<p class="eyebrow">${this.eyebrow}</p>` : h}
3444
4029
  <h1 class="heading">${this.heading}</h1>
3445
4030
  <div class="body"><slot></slot></div>
3446
4031
  <div class="actions ${this.hasActions ? "has-content" : ""}">
@@ -3450,7 +4035,7 @@ let W = class extends v {
3450
4035
  `;
3451
4036
  }
3452
4037
  };
3453
- W.styles = c`
4038
+ oe.styles = d`
3454
4039
  :host {
3455
4040
  display: block;
3456
4041
  font-family: var(--vox-font-family-base);
@@ -3507,43 +4092,50 @@ W.styles = c`
3507
4092
  display: none;
3508
4093
  }
3509
4094
  `;
3510
- Xe([
4095
+ to([
3511
4096
  n()
3512
- ], W.prototype, "eyebrow", 2);
3513
- Xe([
4097
+ ], oe.prototype, "eyebrow", 2);
4098
+ to([
3514
4099
  n()
3515
- ], W.prototype, "heading", 2);
3516
- W = Xe([
3517
- d("vox-hero")
3518
- ], W);
3519
- var kt = Object.defineProperty, zt = Object.getOwnPropertyDescriptor, Ce = (t, o, a, r) => {
3520
- for (var e = r > 1 ? void 0 : r ? zt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4100
+ ], oe.prototype, "heading", 2);
4101
+ oe = to([
4102
+ p("vox-hero")
4103
+ ], 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--)
3521
4106
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3522
- return r && e && kt(o, a, e), e;
4107
+ return r && e && Tt(o, a, e), e;
3523
4108
  };
3524
- let Ve = class extends v {
4109
+ let Te = class extends v {
3525
4110
  render() {
3526
- return l`<slot></slot>`;
4111
+ return c`<slot></slot>`;
3527
4112
  }
3528
4113
  };
3529
- Ve.styles = c`
4114
+ Te.styles = d`
3530
4115
  :host {
3531
4116
  display: grid;
3532
4117
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
3533
4118
  gap: var(--vox-space-4);
3534
4119
  }
3535
4120
  `;
3536
- Ve = Ce([
3537
- d("vox-link-hub")
3538
- ], Ve);
3539
- let Y = class extends v {
4121
+ Te = Ee([
4122
+ p("vox-link-hub")
4123
+ ], Te);
4124
+ let te = class extends v {
3540
4125
  constructor() {
3541
- super(...arguments), this.href = "#", this.heading = "";
4126
+ super(...arguments), this.href = "#", this.heading = "", this.hasIcon = !1;
4127
+ }
4128
+ handleIconSlotChange(t) {
4129
+ const o = t.target;
4130
+ this.hasIcon = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3542
4131
  }
3543
4132
  render() {
3544
- return l`
4133
+ return c`
3545
4134
  <a href=${this.href}>
3546
4135
  <span class="heading">
4136
+ <span class="icon ${this.hasIcon ? "has-icon" : ""}">
4137
+ <slot name="icon" @slotchange=${this.handleIconSlotChange}></slot>
4138
+ </span>
3547
4139
  ${this.heading}
3548
4140
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
3549
4141
  <path d="M5 12h14" />
@@ -3555,12 +4147,21 @@ let Y = class extends v {
3555
4147
  `;
3556
4148
  }
3557
4149
  };
3558
- Y.styles = c`
4150
+ te.styles = d`
3559
4151
  :host {
3560
4152
  display: block;
3561
4153
  font-family: var(--vox-font-family-base);
3562
4154
  }
3563
4155
 
4156
+ .icon {
4157
+ display: flex;
4158
+ flex: none;
4159
+ }
4160
+
4161
+ .icon:not(.has-icon) {
4162
+ display: none;
4163
+ }
4164
+
3564
4165
  a {
3565
4166
  display: block;
3566
4167
  height: 100%;
@@ -3607,26 +4208,26 @@ Y.styles = c`
3607
4208
  color: var(--vox-color-text-2);
3608
4209
  }
3609
4210
  `;
3610
- Ce([
4211
+ Ee([
3611
4212
  n()
3612
- ], Y.prototype, "href", 2);
3613
- Ce([
4213
+ ], te.prototype, "href", 2);
4214
+ Ee([
3614
4215
  n()
3615
- ], Y.prototype, "heading", 2);
3616
- Y = Ce([
3617
- d("vox-link-hub-item")
3618
- ], Y);
3619
- var Et = Object.defineProperty, St = Object.getOwnPropertyDescriptor, Qe = (t, o, a, r) => {
3620
- for (var e = r > 1 ? void 0 : r ? St(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4216
+ ], te.prototype, "heading", 2);
4217
+ te = Ee([
4218
+ 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--)
3621
4222
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3622
- return r && e && Et(o, a, e), e;
4223
+ return r && e && Ft(o, a, e), e;
3623
4224
  };
3624
- let Z = class extends v {
4225
+ let re = class extends v {
3625
4226
  constructor() {
3626
4227
  super(...arguments), this.size = "md", this.label = "Loading";
3627
4228
  }
3628
4229
  render() {
3629
- return l`
4230
+ return c`
3630
4231
  <div role="status">
3631
4232
  <div class="spinner"></div>
3632
4233
  <span class="visually-hidden">${this.label}</span>
@@ -3634,7 +4235,7 @@ let Z = class extends v {
3634
4235
  `;
3635
4236
  }
3636
4237
  };
3637
- Z.styles = c`
4238
+ re.styles = d`
3638
4239
  :host {
3639
4240
  display: inline-block;
3640
4241
  }
@@ -3687,33 +4288,33 @@ Z.styles = c`
3687
4288
  white-space: nowrap;
3688
4289
  }
3689
4290
  `;
3690
- Qe([
4291
+ ro([
3691
4292
  n({ reflect: !0 })
3692
- ], Z.prototype, "size", 2);
3693
- Qe([
4293
+ ], re.prototype, "size", 2);
4294
+ ro([
3694
4295
  n()
3695
- ], Z.prototype, "label", 2);
3696
- Z = Qe([
3697
- d("vox-loader")
3698
- ], Z);
3699
- var Vt = Object.defineProperty, Bt = Object.getOwnPropertyDescriptor, vo = (t, o, a, r) => {
3700
- for (var e = r > 1 ? void 0 : r ? Bt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4296
+ ], re.prototype, "label", 2);
4297
+ re = ro([
4298
+ 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--)
3701
4302
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3702
- return r && e && Vt(o, a, e), e;
4303
+ return r && e && Kt(o, a, e), e;
3703
4304
  };
3704
- let ye = class extends v {
4305
+ let Oe = class extends v {
3705
4306
  constructor() {
3706
4307
  super(...arguments), this.label = "Pagination";
3707
4308
  }
3708
4309
  render() {
3709
- return l`
4310
+ return c`
3710
4311
  <nav aria-label=${this.label}>
3711
4312
  <slot></slot>
3712
4313
  </nav>
3713
4314
  `;
3714
4315
  }
3715
4316
  };
3716
- ye.styles = c`
4317
+ Oe.styles = d`
3717
4318
  :host {
3718
4319
  display: block;
3719
4320
  font-family: var(--vox-font-family-base);
@@ -3753,36 +4354,36 @@ ye.styles = c`
3753
4354
  font-weight: 600;
3754
4355
  }
3755
4356
  `;
3756
- vo([
4357
+ bo([
3757
4358
  n()
3758
- ], ye.prototype, "label", 2);
3759
- ye = vo([
3760
- d("vox-pagination")
3761
- ], ye);
3762
- var At = Object.defineProperty, qt = Object.getOwnPropertyDescriptor, We = (t, o, a, r) => {
3763
- for (var e = r > 1 ? void 0 : r ? qt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4359
+ ], Oe.prototype, "label", 2);
4360
+ Oe = bo([
4361
+ 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--)
3764
4365
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3765
- return r && e && At(o, a, e), e;
4366
+ return r && e && Gt(o, a, e), e;
3766
4367
  };
3767
- let J = class extends v {
4368
+ let ae = class extends v {
3768
4369
  constructor() {
3769
4370
  super(...arguments), this.attribution = "", this.detail = "";
3770
4371
  }
3771
4372
  render() {
3772
- return l`
4373
+ return c`
3773
4374
  <blockquote>
3774
4375
  <div class="text"><slot></slot></div>
3775
- ${this.attribution ? l`
4376
+ ${this.attribution ? c`
3776
4377
  <footer>
3777
4378
  <span class="attribution">${this.attribution}</span>
3778
- ${this.detail ? l`<span class="detail"> — ${this.detail}</span>` : p}
4379
+ ${this.detail ? c`<span class="detail"> — ${this.detail}</span>` : h}
3779
4380
  </footer>
3780
- ` : p}
4381
+ ` : h}
3781
4382
  </blockquote>
3782
4383
  `;
3783
4384
  }
3784
4385
  };
3785
- J.styles = c`
4386
+ ae.styles = d`
3786
4387
  :host {
3787
4388
  display: block;
3788
4389
  font-family: var(--vox-font-family-base);
@@ -3824,21 +4425,21 @@ J.styles = c`
3824
4425
  color: var(--vox-color-text-2);
3825
4426
  }
3826
4427
  `;
3827
- We([
4428
+ ao([
3828
4429
  n()
3829
- ], J.prototype, "attribution", 2);
3830
- We([
4430
+ ], ae.prototype, "attribution", 2);
4431
+ ao([
3831
4432
  n()
3832
- ], J.prototype, "detail", 2);
3833
- J = We([
3834
- d("vox-quote")
3835
- ], J);
3836
- var Lt = Object.defineProperty, Nt = Object.getOwnPropertyDescriptor, C = (t, o, a, r) => {
3837
- for (var e = r > 1 ? void 0 : r ? Nt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4433
+ ], ae.prototype, "detail", 2);
4434
+ ae = ao([
4435
+ 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--)
3838
4439
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
3839
- return r && e && Lt(o, a, e), e;
4440
+ return r && e && Qt(o, a, e), e;
3840
4441
  };
3841
- let we = class extends v {
4442
+ let ke = class extends v {
3842
4443
  constructor() {
3843
4444
  super(...arguments), this.heading = "", this.hasDescription = !1;
3844
4445
  }
@@ -3847,7 +4448,7 @@ let we = class extends v {
3847
4448
  this.hasDescription = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3848
4449
  }
3849
4450
  render() {
3850
- return l`
4451
+ return c`
3851
4452
  <h2 class="heading">${this.heading}</h2>
3852
4453
  <div class="description ${this.hasDescription ? "has-content" : ""}">
3853
4454
  <slot
@@ -3861,7 +4462,7 @@ let we = class extends v {
3861
4462
  `;
3862
4463
  }
3863
4464
  };
3864
- we.styles = c`
4465
+ ke.styles = d`
3865
4466
  :host {
3866
4467
  display: block;
3867
4468
  font-family: var(--vox-font-family-base);
@@ -3893,13 +4494,13 @@ we.styles = c`
3893
4494
  margin-top: var(--vox-space-6);
3894
4495
  }
3895
4496
  `;
3896
- C([
4497
+ L([
3897
4498
  n()
3898
- ], we.prototype, "heading", 2);
3899
- we = C([
3900
- d("vox-sponsor-tier")
3901
- ], we);
3902
- let _ = class extends v {
4499
+ ], ke.prototype, "heading", 2);
4500
+ ke = L([
4501
+ p("vox-sponsor-tier")
4502
+ ], ke);
4503
+ let M = class extends v {
3903
4504
  constructor() {
3904
4505
  super(...arguments), this.name = "", this.hasBody = !1;
3905
4506
  }
@@ -3908,24 +4509,24 @@ let _ = class extends v {
3908
4509
  this.hasBody = o.assignedNodes({ flatten: !0 }).length > 0, this.requestUpdate();
3909
4510
  }
3910
4511
  render() {
3911
- const t = l`
4512
+ const t = c`
3912
4513
  <div class="logo ${this.logo ? "has-logo" : ""}">
3913
- ${this.logo ? l`<img src=${this.logo} alt=${this.name} />` : p}
4514
+ ${this.logo ? c`<img src=${this.logo} alt=${this.name} />` : h}
3914
4515
  </div>
3915
4516
  <span class="name">${this.name}</span>
3916
4517
  <div class="body ${this.hasBody ? "has-content" : ""}">
3917
4518
  <slot @slotchange=${this.handleBodySlotChange}></slot>
3918
4519
  </div>
3919
4520
  `;
3920
- return this.href !== void 0 ? l`<a
4521
+ return this.href !== void 0 ? c`<a
3921
4522
  class="sponsor"
3922
4523
  href=${this.href}
3923
- target=${this.target ?? p}
4524
+ target=${this.target ?? h}
3924
4525
  >${t}</a
3925
- >` : l`<div class="sponsor">${t}</div>`;
4526
+ >` : c`<div class="sponsor">${t}</div>`;
3926
4527
  }
3927
4528
  };
3928
- _.styles = c`
4529
+ M.styles = d`
3929
4530
  :host {
3930
4531
  display: block;
3931
4532
  }
@@ -3991,39 +4592,39 @@ _.styles = c`
3991
4592
  display: none;
3992
4593
  }
3993
4594
  `;
3994
- C([
4595
+ L([
3995
4596
  n()
3996
- ], _.prototype, "name", 2);
3997
- C([
4597
+ ], M.prototype, "name", 2);
4598
+ L([
3998
4599
  n()
3999
- ], _.prototype, "href", 2);
4000
- C([
4600
+ ], M.prototype, "href", 2);
4601
+ L([
4001
4602
  n()
4002
- ], _.prototype, "logo", 2);
4003
- C([
4603
+ ], M.prototype, "logo", 2);
4604
+ L([
4004
4605
  n()
4005
- ], _.prototype, "target", 2);
4006
- _ = C([
4007
- d("vox-sponsor")
4008
- ], _);
4009
- var Mt = Object.defineProperty, Tt = Object.getOwnPropertyDescriptor, Ye = (t, o, a, r) => {
4010
- for (var e = r > 1 ? void 0 : r ? Tt(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4606
+ ], M.prototype, "target", 2);
4607
+ M = L([
4608
+ 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--)
4011
4612
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4012
- return r && e && Mt(o, a, e), e;
4613
+ return r && e && Yt(o, a, e), e;
4013
4614
  };
4014
- let ee = class extends v {
4615
+ let se = class extends v {
4015
4616
  constructor() {
4016
4617
  super(...arguments), this.value = "", this.label = "";
4017
4618
  }
4018
4619
  render() {
4019
- return l`
4620
+ return c`
4020
4621
  <div class="value">${this.value}</div>
4021
4622
  <div class="label">${this.label}</div>
4022
4623
  <div class="description"><slot></slot></div>
4023
4624
  `;
4024
4625
  }
4025
4626
  };
4026
- ee.styles = c`
4627
+ se.styles = d`
4027
4628
  :host {
4028
4629
  display: block;
4029
4630
  font-family: var(--vox-font-family-base);
@@ -4050,35 +4651,35 @@ ee.styles = c`
4050
4651
  color: var(--vox-color-text-2);
4051
4652
  }
4052
4653
  `;
4053
- Ye([
4654
+ so([
4054
4655
  n()
4055
- ], ee.prototype, "value", 2);
4056
- Ye([
4656
+ ], se.prototype, "value", 2);
4657
+ so([
4057
4658
  n()
4058
- ], ee.prototype, "label", 2);
4059
- ee = Ye([
4060
- d("vox-stat")
4061
- ], ee);
4062
- var Ft = Object.defineProperty, It = Object.getOwnPropertyDescriptor, de = (t, o, a, r) => {
4063
- for (var e = r > 1 ? void 0 : r ? It(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4659
+ ], se.prototype, "label", 2);
4660
+ se = so([
4661
+ 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--)
4064
4665
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4065
- return r && e && Ft(o, a, e), e;
4666
+ return r && e && er(o, a, e), e;
4066
4667
  };
4067
- let Be = class extends v {
4668
+ let Re = class extends v {
4068
4669
  numberSteps() {
4069
4670
  this.querySelectorAll("vox-step").forEach((t, o) => {
4070
4671
  t.number = o + 1;
4071
4672
  });
4072
4673
  }
4073
4674
  render() {
4074
- return l`
4675
+ return c`
4075
4676
  <div class="steps" role="list" aria-label="Progress">
4076
4677
  <slot @slotchange=${this.numberSteps}></slot>
4077
4678
  </div>
4078
4679
  `;
4079
4680
  }
4080
4681
  };
4081
- Be.styles = c`
4682
+ Re.styles = d`
4082
4683
  :host {
4083
4684
  display: block;
4084
4685
  }
@@ -4092,22 +4693,22 @@ Be.styles = c`
4092
4693
  flex: 1 1 0;
4093
4694
  }
4094
4695
  `;
4095
- Be = de([
4096
- d("vox-step-indicator")
4097
- ], Be);
4098
- let S = class extends v {
4696
+ Re = fe([
4697
+ p("vox-step-indicator")
4698
+ ], Re);
4699
+ let A = class extends v {
4099
4700
  constructor() {
4100
4701
  super(...arguments), this.label = "", this.state = "upcoming", this.number = 1;
4101
4702
  }
4102
4703
  render() {
4103
- return l`
4704
+ return c`
4104
4705
  <div
4105
4706
  class="step"
4106
4707
  role="listitem"
4107
4708
  aria-current=${this.state === "current" ? "step" : "false"}
4108
4709
  >
4109
4710
  <span class="marker">
4110
- ${this.state === "complete" ? l`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
4711
+ ${this.state === "complete" ? c`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
4111
4712
  <path d="m4 12 5 5L20 6" />
4112
4713
  </svg>` : this.number}
4113
4714
  </span>
@@ -4116,7 +4717,7 @@ let S = class extends v {
4116
4717
  `;
4117
4718
  }
4118
4719
  };
4119
- S.styles = c`
4720
+ A.styles = d`
4120
4721
  :host {
4121
4722
  display: block;
4122
4723
  font-family: var(--vox-font-family-base);
@@ -4190,52 +4791,52 @@ S.styles = c`
4190
4791
  color: var(--vox-color-text-1);
4191
4792
  }
4192
4793
  `;
4193
- de([
4794
+ fe([
4194
4795
  n()
4195
- ], S.prototype, "label", 2);
4196
- de([
4796
+ ], A.prototype, "label", 2);
4797
+ fe([
4197
4798
  n({ reflect: !0 })
4198
- ], S.prototype, "state", 2);
4199
- de([
4799
+ ], A.prototype, "state", 2);
4800
+ fe([
4200
4801
  n({ type: Number })
4201
- ], S.prototype, "number", 2);
4202
- S = de([
4203
- d("vox-step")
4204
- ], S);
4205
- var Rt = Object.defineProperty, Ht = Object.getOwnPropertyDescriptor, je = (t, o, a, r) => {
4206
- for (var e = r > 1 ? void 0 : r ? Ht(o, a) : o, s = t.length - 1, i; s >= 0; s--)
4802
+ ], A.prototype, "number", 2);
4803
+ A = fe([
4804
+ 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--)
4207
4808
  (i = t[s]) && (e = (r ? i(o, a, e) : i(e)) || e);
4208
- return r && e && Rt(o, a, e), e;
4809
+ return r && e && tr(o, a, e), e;
4209
4810
  };
4210
- let Ae = class extends v {
4811
+ let Fe = class extends v {
4211
4812
  render() {
4212
- return l`<slot></slot>`;
4813
+ return c`<slot></slot>`;
4213
4814
  }
4214
4815
  };
4215
- Ae.styles = c`
4816
+ Fe.styles = d`
4216
4817
  :host {
4217
4818
  display: block;
4218
4819
  }
4219
4820
  `;
4220
- Ae = je([
4221
- d("vox-timeline")
4222
- ], Ae);
4223
- let oe = class extends v {
4821
+ Fe = Se([
4822
+ p("vox-timeline")
4823
+ ], Fe);
4824
+ let ie = class extends v {
4224
4825
  constructor() {
4225
4826
  super(...arguments), this.heading = "", this.date = "";
4226
4827
  }
4227
4828
  render() {
4228
- return l`
4829
+ return c`
4229
4830
  <div class="item">
4230
4831
  <span class="dot" aria-hidden="true"></span>
4231
- ${this.date ? l`<div class="date">${this.date}</div>` : p}
4832
+ ${this.date ? c`<div class="date">${this.date}</div>` : h}
4232
4833
  <h3 class="heading">${this.heading}</h3>
4233
4834
  <div class="body"><slot></slot></div>
4234
4835
  </div>
4235
4836
  `;
4236
4837
  }
4237
4838
  };
4238
- oe.styles = c`
4839
+ ie.styles = d`
4239
4840
  :host {
4240
4841
  display: block;
4241
4842
  font-family: var(--vox-font-family-base);
@@ -4285,66 +4886,69 @@ oe.styles = c`
4285
4886
  color: var(--vox-color-text-2);
4286
4887
  }
4287
4888
  `;
4288
- je([
4889
+ Se([
4289
4890
  n()
4290
- ], oe.prototype, "heading", 2);
4291
- je([
4891
+ ], ie.prototype, "heading", 2);
4892
+ Se([
4292
4893
  n()
4293
- ], oe.prototype, "date", 2);
4294
- oe = je([
4295
- d("vox-timeline-item")
4296
- ], oe);
4894
+ ], ie.prototype, "date", 2);
4895
+ ie = Se([
4896
+ p("vox-timeline-item")
4897
+ ], ie);
4297
4898
  export {
4298
- ue as VoxAccordion,
4299
- G as VoxAccordionItem,
4300
- $ as VoxAlert,
4301
- m as VoxAvatar,
4302
- fe as VoxBadge,
4303
- M as VoxBillboard,
4304
- ze as VoxBreadcrumbs,
4305
- x as VoxButton,
4306
- X as VoxCalendarTile,
4307
- Q as VoxCallout,
4308
- z as VoxCard,
4309
- q as VoxCheckbox,
4310
- A as VoxCta,
4311
- be as VoxCtaBand,
4312
- w as VoxDialog,
4313
- U as VoxDisclosure,
4314
- K as VoxDropdown,
4315
- ge as VoxEmptyState,
4316
- u as VoxFileInput,
4317
- Se as VoxFooter,
4318
- me as VoxFooterColumn,
4319
- E as VoxGrid,
4320
- T as VoxHeader,
4321
- W as VoxHero,
4322
- f as VoxInput,
4323
- ke as VoxInputGroup,
4324
- Ve as VoxLinkHub,
4325
- Y as VoxLinkHubItem,
4326
- Z as VoxLoader,
4327
- ye as VoxPagination,
4328
- J as VoxQuote,
4329
- k as VoxRadio,
4330
- pe as VoxRadioGroup,
4331
- L as VoxSelect,
4332
- y as VoxSeriesNav,
4333
- he as VoxSidenav,
4334
- F as VoxSidenavGroup,
4335
- I as VoxSidenavItem,
4336
- _ as VoxSponsor,
4337
- we as VoxSponsorTier,
4338
- ee as VoxStat,
4339
- S as VoxStep,
4340
- Be as VoxStepIndicator,
4341
- xe as VoxSubnav,
4342
- N as VoxSwitch,
4343
- R as VoxTab,
4344
- H as VoxTabPanel,
4345
- Ee as VoxTabs,
4346
- g as VoxTextarea,
4347
- D as VoxThemeToggle,
4348
- Ae as VoxTimeline,
4349
- oe as VoxTimelineItem
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,
4919
+ Me as VoxFooterColumn,
4920
+ S as VoxGrid,
4921
+ z as VoxHeader,
4922
+ oe as VoxHero,
4923
+ j as VoxIcon,
4924
+ b as VoxInput,
4925
+ Be as VoxInputGroup,
4926
+ 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
4350
4954
  };