@hirobius/design-system 0.23.2 → 0.24.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.
@@ -1,25 +1,25 @@
1
1
  'use client';
2
- import { jsxs as h, jsx as t, Fragment as at } from "react/jsx-runtime";
2
+ import { jsxs as f, jsx as t, Fragment as at } from "react/jsx-runtime";
3
3
  import * as m from "react";
4
4
  import Z, { useState as X, forwardRef as oe, useRef as Se, useEffect as rt, useId as Ne } from "react";
5
5
  import { motion as E, AnimatePresence as nt } from "motion/react";
6
6
  import { cva as $ } from "class-variance-authority";
7
- import { Info as ze, TriangleAlert as _e, CircleX as Oe, CircleCheck as Ge, X as $e, ChevronRight as Ce, Circle as ot, Check as pe, Copy as st, SquareArrowOutUpRight as lt, Loader2 as ct, Minus as dt, ChevronsUpDown as je, ChevronDown as pt, ChevronLeft as ut } from "lucide-react";
7
+ import { Info as ze, TriangleAlert as Ge, CircleX as _e, CircleCheck as Oe, X as $e, ChevronRight as Ce, Circle as ot, Check as pe, Copy as st, SquareArrowOutUpRight as lt, Loader2 as ct, Minus as dt, ChevronsUpDown as je, ChevronDown as pt, ChevronLeft as ut } from "lucide-react";
8
8
  import D, { tokenValues as De } from "./tokens.js";
9
9
  import { cn as d } from "./cn.js";
10
- import { u as j, I as A, i as mt, d as vt, T as Ue, w as ue, B as be, r as Ye, L as qe, S as Ie, a as gt } from "./chunks/empty-state-BQ1v7ZIx.js";
11
- import { A as mr, b as vr, e as gr, f as fr, g as hr, j as br, k as $r, l as yr, m as xr, C as wr, E as kr, G as Sr, H as Nr, c as zr, n as Cr } from "./chunks/empty-state-BQ1v7ZIx.js";
10
+ import { u as j, I as M, i as mt, d as vt, T as Ue, w as ue, B as be, r as Ye, L as qe, S as Ie, a as gt } from "./chunks/empty-state-BQ1v7ZIx.js";
11
+ import { A as mr, b as vr, e as gr, f as hr, g as fr, j as br, k as $r, l as yr, m as xr, C as wr, E as kr, G as Sr, H as Nr, c as zr, n as Cr } from "./chunks/empty-state-BQ1v7ZIx.js";
12
12
  import * as U from "@radix-ui/react-dialog";
13
13
  import * as B from "@radix-ui/react-dropdown-menu";
14
14
  import * as se from "@radix-ui/react-popover";
15
15
  import * as re from "@radix-ui/react-tooltip";
16
16
  import { a as Xe, u as me } from "./chunks/DemoStateContext-Cz5TmrYu.js";
17
17
  import { H as Tr } from "./chunks/DemoStateContext-Cz5TmrYu.js";
18
- import * as Ae from "@radix-ui/react-toggle-group";
19
- import * as G from "@radix-ui/react-select";
18
+ import * as Me from "@radix-ui/react-toggle-group";
19
+ import * as O from "@radix-ui/react-select";
20
20
  import * as ye from "@radix-ui/react-tabs";
21
21
  import * as ae from "@radix-ui/react-toast";
22
- const ft = /* @__PURE__ */ $(
22
+ const ht = /* @__PURE__ */ $(
23
23
  "flex gap-[var(--semantic-space-scale-xs)] p-[var(--semantic-space-scale-xs)] rounded-[var(--primitive-radius-4)]",
24
24
  // tier-ok: 4px primitive radius, no semantic 4px token
25
25
  {
@@ -37,14 +37,14 @@ const ft = /* @__PURE__ */ $(
37
37
  },
38
38
  defaultVariants: { tone: "info", hasTitle: !1 }
39
39
  }
40
- ), ht = {
41
- success: { icon: Ge, colorVar: "var(--semantic-color-feedback-success)" },
42
- danger: { icon: Oe, colorVar: "var(--semantic-color-feedback-error)" },
43
- warning: { icon: _e, colorVar: "var(--semantic-color-feedback-warning)" },
40
+ ), ft = {
41
+ success: { icon: Oe, colorVar: "var(--semantic-color-feedback-success)" },
42
+ danger: { icon: _e, colorVar: "var(--semantic-color-feedback-error)" },
43
+ warning: { icon: Ge, colorVar: "var(--semantic-color-feedback-warning)" },
44
44
  info: { icon: ze, colorVar: "var(--semantic-color-feedback-info)" }
45
45
  }, $a = /* @__PURE__ */ Z.forwardRef(function({ tone: e = "info", title: i, children: a }, r) {
46
- const { icon: o, colorVar: s } = ht[e], l = !!i, p = j("productive");
47
- return /* @__PURE__ */ h(
46
+ const { icon: o, colorVar: s } = ft[e], l = !!i, p = j("productive");
47
+ return /* @__PURE__ */ f(
48
48
  E.div,
49
49
  {
50
50
  ref: r,
@@ -52,10 +52,10 @@ const ft = /* @__PURE__ */ $(
52
52
  initial: { opacity: 0, y: -4 },
53
53
  animate: { opacity: 1, y: 0 },
54
54
  transition: { duration: p.duration, ease: p.easing },
55
- className: d(ft({ tone: e, hasTitle: l })),
55
+ className: d(ht({ tone: e, hasTitle: l })),
56
56
  children: [
57
57
  /* @__PURE__ */ t(
58
- A,
58
+ M,
59
59
  {
60
60
  icon: o,
61
61
  size: "small",
@@ -72,7 +72,7 @@ const ft = /* @__PURE__ */ $(
72
72
  // makes the title its own block instead of an inline sibling, with
73
73
  // spacing from a semantic token rather than a literal.
74
74
  // eslint-disable-next-line tailwindcss/no-arbitrary-value -- semantic subgrid-hairline gap; var()-based, no Tailwind-theme utility exists
75
- /* @__PURE__ */ h("span", { className: "flex flex-col gap-[var(--semantic-space-subgrid-hairline)]", children: [
75
+ /* @__PURE__ */ f("span", { className: "flex flex-col gap-[var(--semantic-space-subgrid-hairline)]", children: [
76
76
  /* @__PURE__ */ t(
77
77
  "span",
78
78
  {
@@ -184,9 +184,9 @@ const ya = /* @__PURE__ */ m.forwardRef(
184
184
  md: "size-2",
185
185
  lg: "size-2.5"
186
186
  };
187
- let Me = !1;
187
+ let Ae = !1;
188
188
  function kt() {
189
- Me || mt() || (Me = !0, console.warn(
189
+ Ae || mt() || (Ae = !0, console.warn(
190
190
  "[HDS] Badge `label` only names a `dot` badge and renders no text. Put the text in children: <Badge>Active</Badge>, or add `dot`."
191
191
  ));
192
192
  }
@@ -226,6 +226,7 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
226
226
  );
227
227
  }), St = /* @__PURE__ */ $(
228
228
  "rounded-[var(--primitive-radius-4)] p-[var(--semantic-space-surface-padding)]",
229
+ // tier-ok: 4px primitive radius, matches Alert; no semantic surface-radius token at 4px
229
230
  {
230
231
  variants: {
231
232
  tone: {
@@ -272,7 +273,7 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
272
273
  defaultVariants: { tone: "neutral", mono: !1 }
273
274
  }), Sa = /* @__PURE__ */ m.forwardRef(function({ label: e, value: i, tone: a, mono: r, className: o, children: s, ...l }, p) {
274
275
  const c = s ?? i;
275
- return /* @__PURE__ */ h(
276
+ return /* @__PURE__ */ f(
276
277
  "div",
277
278
  {
278
279
  ref: p,
@@ -297,7 +298,7 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
297
298
  },
298
299
  defaultVariants: { tone: "neutral" }
299
300
  }), Na = /* @__PURE__ */ m.forwardRef(function({ label: e, value: i, sub: a, tone: r, className: o, ...s }, l) {
300
- return /* @__PURE__ */ h(
301
+ return /* @__PURE__ */ f(
301
302
  "div",
302
303
  {
303
304
  ref: l,
@@ -324,7 +325,7 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
324
325
  defaultVariants: { tone: "neutral" }
325
326
  }), za = /* @__PURE__ */ m.forwardRef(
326
327
  function({ tone: e, title: i, notes: a, trailing: r, className: o, ...s }, l) {
327
- return /* @__PURE__ */ h(
328
+ return /* @__PURE__ */ f(
328
329
  "div",
329
330
  {
330
331
  ref: l,
@@ -333,7 +334,7 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
333
334
  ...s,
334
335
  children: [
335
336
  /* @__PURE__ */ t("span", { "aria-hidden": "true", className: Ct({ tone: e }) }),
336
- /* @__PURE__ */ h("div", { className: "min-w-0 flex-1", children: [
337
+ /* @__PURE__ */ f("div", { className: "min-w-0 flex-1", children: [
337
338
  /* @__PURE__ */ t("p", { className: "m-0 hds-type-ui text-foreground", children: i }),
338
339
  a == null ? void 0 : a.map((p, c) => /* @__PURE__ */ t("p", { className: "m-0 hds-type-caption text-muted-foreground", children: p }, c))
339
340
  ] }),
@@ -351,10 +352,10 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
351
352
  ...i
352
353
  }
353
354
  );
354
- }), Pt = /* @__PURE__ */ m.forwardRef(function({ className: e, children: i, hideClose: a = !1, container: r, ...o }, s) {
355
- return /* @__PURE__ */ h(Je, { container: r, children: [
355
+ }), Rt = /* @__PURE__ */ m.forwardRef(function({ className: e, children: i, hideClose: a = !1, container: r, ...o }, s) {
356
+ return /* @__PURE__ */ f(Je, { container: r, children: [
356
357
  /* @__PURE__ */ t(Ke, {}),
357
- /* @__PURE__ */ h(
358
+ /* @__PURE__ */ f(
358
359
  U.Content,
359
360
  {
360
361
  ref: s,
@@ -366,7 +367,7 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
366
367
  ...o,
367
368
  children: [
368
369
  i,
369
- !a && /* @__PURE__ */ h(
370
+ !a && /* @__PURE__ */ f(
370
371
  U.Close,
371
372
  {
372
373
  className: d(
@@ -385,7 +386,7 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
385
386
  }
386
387
  )
387
388
  ] });
388
- }), Rt = /* @__PURE__ */ m.forwardRef(function({ className: e, ...i }, a) {
389
+ }), Pt = /* @__PURE__ */ m.forwardRef(function({ className: e, ...i }, a) {
389
390
  return /* @__PURE__ */ t("div", { ref: a, className: d("flex flex-col space-y-1.5 text-left", e), ...i });
390
391
  }), Lt = /* @__PURE__ */ m.forwardRef(function({ className: e, ...i }, a) {
391
392
  return /* @__PURE__ */ t(
@@ -411,15 +412,15 @@ const xa = /* @__PURE__ */ m.forwardRef(function({ className: e, tone: i, as: a
411
412
  }
412
413
  ) });
413
414
  });
414
- function At(n) {
415
+ function Mt(n) {
415
416
  return /* @__PURE__ */ t(U.Root, { ...n });
416
417
  }
417
- const Ca = /* @__PURE__ */ Object.assign(At, {
418
+ const Ca = /* @__PURE__ */ Object.assign(Mt, {
418
419
  Trigger: Dt,
419
420
  Portal: Je,
420
421
  Overlay: Ke,
421
- Content: Pt,
422
- Header: Rt,
422
+ Content: Rt,
423
+ Header: Pt,
423
424
  Footer: Lt,
424
425
  Title: Vt,
425
426
  Description: It,
@@ -427,7 +428,7 @@ const Ca = /* @__PURE__ */ Object.assign(At, {
427
428
  // Set here, not by a later `Dialog.displayName = …` write: a top-level
428
429
  // property write is a side effect that keeps the module alive.
429
430
  displayName: "Dialog"
430
- }), Mt = /* @__PURE__ */ $("m-0 shrink-0 border-solid", {
431
+ }), At = /* @__PURE__ */ $("m-0 shrink-0 border-solid", {
431
432
  variants: {
432
433
  orientation: {
433
434
  horizontal: "w-full self-stretch border-t",
@@ -449,7 +450,7 @@ const Ca = /* @__PURE__ */ Object.assign(At, {
449
450
  ref: p,
450
451
  "aria-orientation": e ?? "horizontal",
451
452
  "data-variant": c ?? "default",
452
- className: d(Mt({ orientation: e, variant: c }), s),
453
+ className: d(At({ orientation: e, variant: c }), s),
453
454
  style: {
454
455
  ...v ? { marginTop: a, marginBottom: a } : { marginLeft: a, marginRight: a },
455
456
  ...o
@@ -462,7 +463,7 @@ const Ca = /* @__PURE__ */ Object.assign(At, {
462
463
  function Et(n) {
463
464
  return /* @__PURE__ */ t(B.Root, { ...n });
464
465
  }
465
- const Ht = B.Trigger, Bt = B.Group, Wt = B.RadioGroup, Ft = B.Sub, Ze = /* @__PURE__ */ ue(B.Portal), Qe = "z-50 min-w-32 overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-overlay", xe = "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 hds-type-ui outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[highlighted]:ring-2 data-[highlighted]:ring-inset data-[highlighted]:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-50", _t = /* @__PURE__ */ m.forwardRef(function({ className: e, sideOffset: i = 4, container: a, ...r }, o) {
466
+ const Ht = B.Trigger, Bt = B.Group, Wt = B.RadioGroup, Ft = B.Sub, Ze = /* @__PURE__ */ ue(B.Portal), Qe = "z-50 min-w-32 overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-overlay", xe = "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 hds-type-ui outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[highlighted]:ring-2 data-[highlighted]:ring-inset data-[highlighted]:ring-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-50", Gt = /* @__PURE__ */ m.forwardRef(function({ className: e, sideOffset: i = 4, container: a, ...r }, o) {
466
467
  return /* @__PURE__ */ t(Ze, { container: a, children: /* @__PURE__ */ t(
467
468
  B.Content,
468
469
  {
@@ -473,16 +474,16 @@ const Ht = B.Trigger, Bt = B.Group, Wt = B.RadioGroup, Ft = B.Sub, Ze = /* @__PU
473
474
  ...r
474
475
  }
475
476
  ) });
476
- }), Ot = /* @__PURE__ */ m.forwardRef(function({ className: e, ...i }, a) {
477
+ }), _t = /* @__PURE__ */ m.forwardRef(function({ className: e, ...i }, a) {
477
478
  return /* @__PURE__ */ t(B.Item, { ref: a, className: d(xe, e), ...i });
478
- }), Gt = /* @__PURE__ */ m.forwardRef(function({ className: e, children: i, ...a }, r) {
479
- return /* @__PURE__ */ h(B.CheckboxItem, { ref: r, className: d(xe, "pl-6", e), ...a, children: [
480
- /* @__PURE__ */ t("span", { className: "absolute left-2 inline-flex items-center justify-center", children: /* @__PURE__ */ t(B.ItemIndicator, { children: /* @__PURE__ */ t(A, { icon: pe, size: 14, color: "currentColor", "aria-hidden": !0 }) }) }),
479
+ }), Ot = /* @__PURE__ */ m.forwardRef(function({ className: e, children: i, ...a }, r) {
480
+ return /* @__PURE__ */ f(B.CheckboxItem, { ref: r, className: d(xe, "pl-6", e), ...a, children: [
481
+ /* @__PURE__ */ t("span", { className: "absolute left-2 inline-flex items-center justify-center", children: /* @__PURE__ */ t(B.ItemIndicator, { children: /* @__PURE__ */ t(M, { icon: pe, size: 14, color: "currentColor", "aria-hidden": !0 }) }) }),
481
482
  i
482
483
  ] });
483
484
  }), jt = /* @__PURE__ */ m.forwardRef(function({ className: e, children: i, ...a }, r) {
484
- return /* @__PURE__ */ h(B.RadioItem, { ref: r, className: d(xe, "pl-6", e), ...a, children: [
485
- /* @__PURE__ */ t("span", { className: "absolute left-2 inline-flex items-center justify-center", children: /* @__PURE__ */ t(B.ItemIndicator, { children: /* @__PURE__ */ t(A, { icon: ot, size: 6, color: "currentColor", "aria-hidden": !0, className: "fill-current" }) }) }),
485
+ return /* @__PURE__ */ f(B.RadioItem, { ref: r, className: d(xe, "pl-6", e), ...a, children: [
486
+ /* @__PURE__ */ t("span", { className: "absolute left-2 inline-flex items-center justify-center", children: /* @__PURE__ */ t(B.ItemIndicator, { children: /* @__PURE__ */ t(M, { icon: ot, size: 6, color: "currentColor", "aria-hidden": !0, className: "fill-current" }) }) }),
486
487
  i
487
488
  ] });
488
489
  }), Ut = /* @__PURE__ */ m.forwardRef(function({ className: e, ...i }, a) {
@@ -504,7 +505,7 @@ const Ht = B.Trigger, Bt = B.Group, Wt = B.RadioGroup, Ft = B.Sub, Ze = /* @__PU
504
505
  }
505
506
  );
506
507
  }), qt = /* @__PURE__ */ m.forwardRef(function({ className: e, children: i, ...a }, r) {
507
- return /* @__PURE__ */ h(
508
+ return /* @__PURE__ */ f(
508
509
  B.SubTrigger,
509
510
  {
510
511
  ref: r,
@@ -512,7 +513,7 @@ const Ht = B.Trigger, Bt = B.Group, Wt = B.RadioGroup, Ft = B.Sub, Ze = /* @__PU
512
513
  ...a,
513
514
  children: [
514
515
  i,
515
- /* @__PURE__ */ t(A, { icon: Ce, size: 14, color: "currentColor", "aria-hidden": !0, className: "ml-auto" })
516
+ /* @__PURE__ */ t(M, { icon: Ce, size: 14, color: "currentColor", "aria-hidden": !0, className: "ml-auto" })
516
517
  ]
517
518
  }
518
519
  );
@@ -520,9 +521,9 @@ const Ht = B.Trigger, Bt = B.Group, Wt = B.RadioGroup, Ft = B.Sub, Ze = /* @__PU
520
521
  return /* @__PURE__ */ t(Ze, { container: i, children: /* @__PURE__ */ t(B.SubContent, { ref: r, className: d(Qe, e), ...a }) });
521
522
  }), Ta = /* @__PURE__ */ Object.assign(Et, {
522
523
  Trigger: Ht,
523
- Content: _t,
524
- Item: Ot,
525
- CheckboxItem: Gt,
524
+ Content: Gt,
525
+ Item: _t,
526
+ CheckboxItem: Ot,
526
527
  RadioGroup: Wt,
527
528
  RadioItem: jt,
528
529
  Label: Ut,
@@ -563,7 +564,7 @@ const Kt = se.Trigger, Zt = se.Anchor, Qt = se.Close, ei = /* @__PURE__ */ ue(se
563
564
  // property write is a side effect that keeps the module alive.
564
565
  displayName: "Popover"
565
566
  }), ii = /* @__PURE__ */ ue(re.Portal), ai = /* @__PURE__ */ m.forwardRef(function({ className: e, sideOffset: i = 6, children: a, container: r, ...o }, s) {
566
- return /* @__PURE__ */ t(ii, { container: r, children: /* @__PURE__ */ h(
567
+ return /* @__PURE__ */ t(ii, { container: r, children: /* @__PURE__ */ f(
567
568
  re.Content,
568
569
  {
569
570
  ref: s,
@@ -602,7 +603,7 @@ function ri({
602
603
  }) {
603
604
  return /* @__PURE__ */ t(re.Provider, { delayDuration: n, children: /* @__PURE__ */ t(re.Root, { ...i, children: e }) });
604
605
  }
605
- const Pa = /* @__PURE__ */ Object.assign(ri, {
606
+ const Ra = /* @__PURE__ */ Object.assign(ri, {
606
607
  Trigger: re.Trigger,
607
608
  Content: ai,
608
609
  // Set here, not by a later `Tooltip.displayName = …` write: a top-level
@@ -622,7 +623,7 @@ const Pa = /* @__PURE__ */ Object.assign(ri, {
622
623
  defaultVariants: { density: "comfortable" }
623
624
  }
624
625
  );
625
- function Ra({
626
+ function Pa({
626
627
  children: n,
627
628
  style: e,
628
629
  density: i,
@@ -644,7 +645,7 @@ function Ra({
644
645
  children: n
645
646
  }
646
647
  );
647
- return r ? /* @__PURE__ */ h(
648
+ return r ? /* @__PURE__ */ f(
648
649
  "span",
649
650
  {
650
651
  style: {
@@ -663,7 +664,7 @@ function Ra({
663
664
  "aria-label": o ? "Copied" : "Copy",
664
665
  onClick: p,
665
666
  style: o ? { color: "var(--semantic-color-content-accent)" } : void 0,
666
- iconLeft: /* @__PURE__ */ t(A, { icon: o ? pe : st, size: "small" })
667
+ iconLeft: /* @__PURE__ */ t(M, { icon: o ? pe : st, size: "small" })
667
668
  }
668
669
  ),
669
670
  c
@@ -677,11 +678,11 @@ function oi(n) {
677
678
  }
678
679
  function La({ href: n, children: e, externalIcon: i = !0 }) {
679
680
  const { LinkComponent: a } = Xe(), r = oi(n);
680
- return r === "internal" ? /* @__PURE__ */ t(a, { to: n, className: "hds-focus hds-link", children: e }) : r === "plain" ? /* @__PURE__ */ t("a", { href: n, className: "hds-focus hds-link", children: e }) : /* @__PURE__ */ h("a", { href: n, target: "_blank", rel: "noopener noreferrer", className: "hds-focus hds-link", children: [
681
+ return r === "internal" ? /* @__PURE__ */ t(a, { to: n, className: "hds-focus hds-link", children: e }) : r === "plain" ? /* @__PURE__ */ t("a", { href: n, className: "hds-focus hds-link", children: e }) : /* @__PURE__ */ f("a", { href: n, target: "_blank", rel: "noopener noreferrer", className: "hds-focus hds-link", children: [
681
682
  e,
682
683
  /* @__PURE__ */ t("span", { className: "sr-only", children: " (opens in new tab)" }),
683
684
  i && /* @__PURE__ */ t(
684
- A,
685
+ M,
685
686
  {
686
687
  icon: lt,
687
688
  size: 11,
@@ -811,33 +812,33 @@ const Va = /* @__PURE__ */ m.forwardRef(function({
811
812
  loading: x = !1,
812
813
  readOnly: S,
813
814
  className: N,
814
- inputClassName: f,
815
+ inputClassName: h,
815
816
  onChange: k,
816
- ...P
817
+ ...R
817
818
  }, H) {
818
- const V = m.useId(), C = r ?? V, R = m.useRef(null), L = me(), y = !!u || L === "error", M = x || L === "loading", Y = !!w || L === "disabled", F = y && (b || L === "error") ? `${C}-error` : void 0, _ = s && !F ? `${C}-hint` : void 0, Q = [_, F].filter(Boolean).join(" ") || void 0, [ve, le] = m.useState(() => typeof P.defaultValue == "string" ? P.defaultValue : typeof P.defaultValue == "number" ? String(P.defaultValue) : ""), ee = typeof P.value == "string" ? P.value : typeof P.value == "number" ? String(P.value) : void 0, ge = ee ?? ve, I = pi[i], fe = !!l, ce = !!p, te = Ee(c), q = Ee(v), ie = te || q, de = !di.has(e) && ge.length > 0 && !Y && !M, g = M || ce || de;
819
- function z(O) {
820
- if (R.current = O, typeof H == "function") {
821
- H(O);
819
+ const V = m.useId(), C = r ?? V, P = m.useRef(null), L = me(), y = !!u || L === "error", A = x || L === "loading", Y = !!w || L === "disabled", F = y && (b || L === "error") ? `${C}-error` : void 0, G = s && !F ? `${C}-hint` : void 0, Q = [G, F].filter(Boolean).join(" ") || void 0, [ve, le] = m.useState(() => typeof R.defaultValue == "string" ? R.defaultValue : typeof R.defaultValue == "number" ? String(R.defaultValue) : ""), ee = typeof R.value == "string" ? R.value : typeof R.value == "number" ? String(R.value) : void 0, ge = ee ?? ve, I = pi[i], he = !!l, ce = !!p, te = Ee(c), q = Ee(v), ie = te || q, de = !di.has(e) && ge.length > 0 && !Y && !A, g = A || ce || de;
820
+ function z(_) {
821
+ if (P.current = _, typeof H == "function") {
822
+ H(_);
822
823
  return;
823
824
  }
824
- H && (H.current = O);
825
+ H && (H.current = _);
825
826
  }
826
827
  function W() {
827
828
  var Ve;
828
- const O = R.current;
829
- if (!O) return;
829
+ const _ = P.current;
830
+ if (!_) return;
830
831
  const we = (Ve = Object.getOwnPropertyDescriptor(
831
832
  window.HTMLInputElement.prototype,
832
833
  "value"
833
834
  )) == null ? void 0 : Ve.set;
834
- we == null || we.call(O, ""), O.dispatchEvent(new Event("input", { bubbles: !0 })), O.focus();
835
+ we == null || we.call(_, ""), _.dispatchEvent(new Event("input", { bubbles: !0 })), _.focus();
835
836
  }
836
- const J = L || (M ? "loading" : Y ? "disabled" : y ? "error" : ge.length > 0 ? "filled" : "default"), K = fe ? I.leadPad : te ? I.prefixGap : I.restPadL, it = g ? I.trailPad : q ? I.suffixGap : I.restPadR, Re = d(
837
+ const J = L || (A ? "loading" : Y ? "disabled" : y ? "error" : ge.length > 0 ? "filled" : "default"), K = he ? I.leadPad : te ? I.prefixGap : I.restPadL, it = g ? I.trailPad : q ? I.suffixGap : I.restPadR, Pe = d(
837
838
  "flex shrink-0 items-center whitespace-nowrap text-muted-foreground",
838
839
  I.iconWrap
839
- ), Le = /* @__PURE__ */ h("div", { className: ie ? "relative min-w-0 flex-1 self-stretch" : "relative w-full", children: [
840
- fe && /* @__PURE__ */ t(
840
+ ), Le = /* @__PURE__ */ f("div", { className: ie ? "relative min-w-0 flex-1 self-stretch" : "relative w-full", children: [
841
+ he && /* @__PURE__ */ t(
841
842
  "span",
842
843
  {
843
844
  "aria-hidden": "true",
@@ -856,9 +857,9 @@ const Va = /* @__PURE__ */ m.forwardRef(function({
856
857
  id: C,
857
858
  type: e,
858
859
  disabled: Y,
859
- readOnly: M || S,
860
+ readOnly: A || S,
860
861
  "aria-disabled": Y || void 0,
861
- "aria-busy": M || void 0,
862
+ "aria-busy": A || void 0,
862
863
  "aria-describedby": Q,
863
864
  "aria-errormessage": F,
864
865
  "aria-invalid": y || void 0,
@@ -870,15 +871,15 @@ const Va = /* @__PURE__ */ m.forwardRef(function({
870
871
  K,
871
872
  it,
872
873
  ie && ci,
873
- f
874
+ h
874
875
  ),
875
- onChange: (O) => {
876
- ee === void 0 && le(O.target.value), k == null || k(O);
876
+ onChange: (_) => {
877
+ ee === void 0 && le(_.target.value), k == null || k(_);
877
878
  },
878
- ...P
879
+ ...R
879
880
  }
880
881
  ),
881
- M && /* @__PURE__ */ t(
882
+ A && /* @__PURE__ */ t(
882
883
  "span",
883
884
  {
884
885
  "aria-hidden": "true",
@@ -889,7 +890,7 @@ const Va = /* @__PURE__ */ m.forwardRef(function({
889
890
  children: /* @__PURE__ */ t(ct, { className: d("animate-spin motion-reduce:animate-none", I.iconClass) })
890
891
  }
891
892
  ),
892
- !M && ce && /* @__PURE__ */ t(
893
+ !A && ce && /* @__PURE__ */ t(
893
894
  "span",
894
895
  {
895
896
  "aria-hidden": "true",
@@ -901,7 +902,7 @@ const Va = /* @__PURE__ */ m.forwardRef(function({
901
902
  children: p
902
903
  }
903
904
  ),
904
- !M && !ce && de && /* @__PURE__ */ t(
905
+ !A && !ce && de && /* @__PURE__ */ t(
905
906
  "button",
906
907
  {
907
908
  type: "button",
@@ -915,14 +916,14 @@ const Va = /* @__PURE__ */ m.forwardRef(function({
915
916
  }
916
917
  )
917
918
  ] });
918
- return /* @__PURE__ */ h("div", { className: d("flex flex-col gap-1.5", ne, N), children: [
919
+ return /* @__PURE__ */ f("div", { className: d("flex flex-col gap-1.5", ne, N), children: [
919
920
  o && /* @__PURE__ */ t("label", { htmlFor: C, className: "hds-type-ui text-foreground", children: o }),
920
- ie ? /* @__PURE__ */ h("div", { className: li({ size: i, textStyle: a, invalid: y }), children: [
921
- te && /* @__PURE__ */ t("span", { className: d(Re, I.prefixPad), children: c }),
921
+ ie ? /* @__PURE__ */ f("div", { className: li({ size: i, textStyle: a, invalid: y }), children: [
922
+ te && /* @__PURE__ */ t("span", { className: d(Pe, I.prefixPad), children: c }),
922
923
  Le,
923
- q && /* @__PURE__ */ t("span", { className: d(Re, I.suffixPad), children: v })
924
+ q && /* @__PURE__ */ t("span", { className: d(Pe, I.suffixPad), children: v })
924
925
  ] }) : Le,
925
- _ && /* @__PURE__ */ t("span", { id: _, className: "hds-type-caption text-muted-foreground", children: s }),
926
+ G && /* @__PURE__ */ t("span", { id: G, className: "hds-type-caption text-muted-foreground", children: s }),
926
927
  y && (b || L === "error") && /* @__PURE__ */ t("span", { id: F, role: "alert", className: "hds-type-caption text-destructive", children: b || "Field error" })
927
928
  ] });
928
929
  }), ui = /* @__PURE__ */ $(
@@ -958,8 +959,8 @@ const Va = /* @__PURE__ */ m.forwardRef(function({
958
959
  textareaClassName: v,
959
960
  ...u
960
961
  }, b) {
961
- const w = m.useId(), x = e ?? w, S = !!r, N = S && o ? `${x}-error` : void 0, f = a && !N ? `${x}-hint` : void 0, k = [f, N].filter(Boolean).join(" ") || void 0, P = s ? "disabled" : S ? "error" : "default";
962
- return /* @__PURE__ */ h("div", { className: d("flex flex-col gap-1.5", ne, c), children: [
962
+ const w = m.useId(), x = e ?? w, S = !!r, N = S && o ? `${x}-error` : void 0, h = a && !N ? `${x}-hint` : void 0, k = [h, N].filter(Boolean).join(" ") || void 0, R = s ? "disabled" : S ? "error" : "default";
963
+ return /* @__PURE__ */ f("div", { className: d("flex flex-col gap-1.5", ne, c), children: [
963
964
  i && /* @__PURE__ */ t("label", { htmlFor: x, className: "hds-type-ui text-foreground", children: i }),
964
965
  /* @__PURE__ */ t(
965
966
  "textarea",
@@ -972,12 +973,12 @@ const Va = /* @__PURE__ */ m.forwardRef(function({
972
973
  "aria-describedby": k,
973
974
  "aria-errormessage": N,
974
975
  "aria-invalid": S || void 0,
975
- "data-state": P,
976
+ "data-state": R,
976
977
  className: d(ui({ resize: l, invalid: S }), v),
977
978
  ...u
978
979
  }
979
980
  ),
980
- f && /* @__PURE__ */ t("span", { id: f, className: "hds-type-caption text-muted-foreground", children: a }),
981
+ h && /* @__PURE__ */ t("span", { id: h, className: "hds-type-caption text-muted-foreground", children: a }),
981
982
  S && o && /* @__PURE__ */ t("span", { id: N, role: "alert", className: "hds-type-caption text-destructive", children: o })
982
983
  ] });
983
984
  }
@@ -1095,10 +1096,10 @@ const mi = /* @__PURE__ */ $(
1095
1096
  defaultVariants: { state: "rest", on: !1 }
1096
1097
  }
1097
1098
  );
1098
- function fi(n, e) {
1099
+ function hi(n, e) {
1099
1100
  typeof n == "function" ? n(e) : n && (n.current = e);
1100
1101
  }
1101
- const Aa = /* @__PURE__ */ oe(
1102
+ const Ma = /* @__PURE__ */ oe(
1102
1103
  function({
1103
1104
  label: e,
1104
1105
  checked: i,
@@ -1110,19 +1111,19 @@ const Aa = /* @__PURE__ */ oe(
1110
1111
  disabled: p,
1111
1112
  ...c
1112
1113
  }, v) {
1113
- const u = Se(null), b = me(), { visualState: w, isHover: x, isFocused: S, isPressed: N, isDisabled: f, handlers: k } = Te({
1114
+ const u = Se(null), b = me(), { visualState: w, isHover: x, isFocused: S, isPressed: N, isDisabled: h, handlers: k } = Te({
1114
1115
  disabled: p,
1115
1116
  frozenState: b
1116
1117
  });
1117
1118
  rt(() => {
1118
1119
  u.current && (u.current.indeterminate = r);
1119
1120
  }, [r]);
1120
- const P = i || r, H = f ? "var(--semantic-color-content-disabled)" : "var(--semantic-color-content-onAccent)", V = j("productive");
1121
- return /* @__PURE__ */ h(
1121
+ const R = i || r, H = h ? "var(--semantic-color-content-disabled)" : "var(--semantic-color-content-onAccent)", V = j("productive");
1122
+ return /* @__PURE__ */ f(
1122
1123
  E.label,
1123
1124
  {
1124
1125
  tabIndex: -1,
1125
- whileTap: f ? void 0 : { scale: 0.99 },
1126
+ whileTap: h ? void 0 : { scale: 0.99 },
1126
1127
  transition: { duration: V.duration, ease: V.easing },
1127
1128
  onMouseEnter: k.onMouseEnter,
1128
1129
  onMouseLeave: k.onMouseLeave,
@@ -1135,11 +1136,11 @@ const Aa = /* @__PURE__ */ oe(
1135
1136
  "input",
1136
1137
  {
1137
1138
  ref: (C) => {
1138
- u.current = C, fi(v, C);
1139
+ u.current = C, hi(v, C);
1139
1140
  },
1140
1141
  type: "checkbox",
1141
1142
  checked: i,
1142
- disabled: f,
1143
+ disabled: h,
1143
1144
  "aria-checked": r ? "mixed" : i,
1144
1145
  onChange: (C) => a(C.target.checked),
1145
1146
  onFocus: (C) => {
@@ -1164,11 +1165,11 @@ const Aa = /* @__PURE__ */ oe(
1164
1165
  duration: V.duration,
1165
1166
  ease: V.easing
1166
1167
  },
1167
- className: gi({ state: w, on: P }),
1168
+ className: gi({ state: w, on: R }),
1168
1169
  style: {
1169
1170
  transition: `background-color ${V.duration}s ease, border-color ${V.duration}s ease`
1170
1171
  },
1171
- children: r ? /* @__PURE__ */ t(A, { icon: dt, size: 14, color: H, "aria-hidden": !0 }) : i ? /* @__PURE__ */ t(A, { icon: pe, size: 14, color: H, "aria-hidden": !0 }) : null
1172
+ children: r ? /* @__PURE__ */ t(M, { icon: dt, size: 14, color: H, "aria-hidden": !0 }) : i ? /* @__PURE__ */ t(M, { icon: pe, size: 14, color: H, "aria-hidden": !0 }) : null
1172
1173
  }
1173
1174
  ),
1174
1175
  /* @__PURE__ */ t(
@@ -1182,7 +1183,7 @@ const Aa = /* @__PURE__ */ oe(
1182
1183
  },
1183
1184
  style: {
1184
1185
  ...D.typeStyles.ui,
1185
- color: f ? "var(--semantic-color-content-disabled)" : "var(--semantic-color-content-primary)"
1186
+ color: h ? "var(--semantic-color-content-disabled)" : "var(--semantic-color-content-primary)"
1186
1187
  },
1187
1188
  children: e
1188
1189
  }
@@ -1191,7 +1192,7 @@ const Aa = /* @__PURE__ */ oe(
1191
1192
  }
1192
1193
  );
1193
1194
  }
1194
- ), hi = /* @__PURE__ */ $("absolute inset-0 m-0 opacity-0", {
1195
+ ), fi = /* @__PURE__ */ $("absolute inset-0 m-0 opacity-0", {
1195
1196
  variants: {
1196
1197
  state: {
1197
1198
  rest: "cursor-pointer",
@@ -1274,7 +1275,7 @@ const Aa = /* @__PURE__ */ oe(
1274
1275
  },
1275
1276
  defaultVariants: { disabled: !1 }
1276
1277
  }
1277
- ), Ma = /* @__PURE__ */ oe(function({
1278
+ ), Aa = /* @__PURE__ */ oe(function({
1278
1279
  label: e,
1279
1280
  checked: i,
1280
1281
  onChange: a,
@@ -1291,11 +1292,11 @@ const Aa = /* @__PURE__ */ oe(
1291
1292
  onBlur: x,
1292
1293
  ...S
1293
1294
  }, N) {
1294
- const f = me(), { visualState: k, isHover: P, isFocused: H, isPressed: V, isDisabled: C, handlers: R } = Te({
1295
+ const h = me(), { visualState: k, isHover: R, isFocused: H, isPressed: V, isDisabled: C, handlers: P } = Te({
1295
1296
  disabled: r,
1296
- frozenState: f
1297
+ frozenState: h
1297
1298
  }), T = j("productive"), L = j("expressive");
1298
- return /* @__PURE__ */ h(
1299
+ return /* @__PURE__ */ f(
1299
1300
  E.label,
1300
1301
  {
1301
1302
  tabIndex: -1,
@@ -1312,30 +1313,30 @@ const Aa = /* @__PURE__ */ oe(
1312
1313
  disabled: C,
1313
1314
  onChange: (y) => a(y.target.checked),
1314
1315
  onMouseEnter: (y) => {
1315
- R.onMouseEnter(), l == null || l(y);
1316
+ P.onMouseEnter(), l == null || l(y);
1316
1317
  },
1317
1318
  onMouseLeave: (y) => {
1318
- R.onMouseLeave(), p == null || p(y);
1319
+ P.onMouseLeave(), p == null || p(y);
1319
1320
  },
1320
1321
  onPointerDown: (y) => {
1321
- R.onPointerDown(), c == null || c(y);
1322
+ P.onPointerDown(), c == null || c(y);
1322
1323
  },
1323
1324
  onPointerUp: (y) => {
1324
- R.onPointerUp(), v == null || v(y);
1325
+ P.onPointerUp(), v == null || v(y);
1325
1326
  },
1326
1327
  onPointerCancel: (y) => {
1327
- R.onPointerCancel(), u == null || u(y);
1328
+ P.onPointerCancel(), u == null || u(y);
1328
1329
  },
1329
1330
  onFocus: (y) => {
1330
- R.onFocus(y.currentTarget), b == null || b(y);
1331
+ P.onFocus(y.currentTarget), b == null || b(y);
1331
1332
  },
1332
1333
  onKeyDown: (y) => {
1333
- R.onKeyDown(y.currentTarget), w == null || w(y);
1334
+ P.onKeyDown(y.currentTarget), w == null || w(y);
1334
1335
  },
1335
1336
  onBlur: (y) => {
1336
- R.onBlur(), x == null || x(y);
1337
+ P.onBlur(), x == null || x(y);
1337
1338
  },
1338
- className: d("hds-focus", hi({ state: k })),
1339
+ className: d("hds-focus", fi({ state: k })),
1339
1340
  ...S
1340
1341
  }
1341
1342
  ),
@@ -1345,7 +1346,7 @@ const Aa = /* @__PURE__ */ oe(
1345
1346
  "aria-hidden": "true",
1346
1347
  className: $i({ state: k, on: i }),
1347
1348
  animate: {
1348
- scale: V ? 0.94 : P || H ? 1.04 : 1
1349
+ scale: V ? 0.94 : R || H ? 1.04 : 1
1349
1350
  },
1350
1351
  transition: {
1351
1352
  duration: T.duration,
@@ -1393,8 +1394,8 @@ const Aa = /* @__PURE__ */ oe(
1393
1394
  const [p, c] = X(!1), v = a - i, b = `${(v <= 0 ? 0 : Math.min(Math.max((o - i) / v, 0), 1)) * 100}%`, w = j("productive"), x = j("expressive");
1394
1395
  return (
1395
1396
  // eslint-disable-next-line tailwindcss/no-arbitrary-value -- token-driven gap; var()-based, no Tailwind-theme utility exists
1396
- /* @__PURE__ */ h("div", { className: `flex flex-col gap-[var(--semantic-space-scale-xs)] ${ne}`, children: [
1397
- /* @__PURE__ */ h("div", { className: "flex justify-between items-baseline gap-[var(--semantic-space-scale-xs)]", children: [
1397
+ /* @__PURE__ */ f("div", { className: `flex flex-col gap-[var(--semantic-space-scale-xs)] ${ne}`, children: [
1398
+ /* @__PURE__ */ f("div", { className: "flex justify-between items-baseline gap-[var(--semantic-space-scale-xs)]", children: [
1398
1399
  /* @__PURE__ */ t(
1399
1400
  "label",
1400
1401
  {
@@ -1421,7 +1422,7 @@ const Aa = /* @__PURE__ */ oe(
1421
1422
  o
1422
1423
  )
1423
1424
  ] }),
1424
- /* @__PURE__ */ h(E.div, { className: "relative h-[var(--semantic-size-control-md)] grid items-center", children: [
1425
+ /* @__PURE__ */ f(E.div, { className: "relative h-[var(--semantic-size-control-md)] grid items-center", children: [
1425
1426
  /* @__PURE__ */ t(
1426
1427
  "div",
1427
1428
  {
@@ -1464,7 +1465,7 @@ const Aa = /* @__PURE__ */ oe(
1464
1465
  ] })
1465
1466
  ] })
1466
1467
  );
1467
- }), Pe = (n) => parseFloat(n), xi = Pe(De.primitive.size[40]), wi = Pe(De.primitive.size[20]), et = Pe(De.primitive.size[16]), ki = (wi - et) / 2, Si = xi - et - ki * 2, Ni = /* @__PURE__ */ $(
1468
+ }), Re = (n) => parseFloat(n), xi = Re(De.primitive.size[40]), wi = Re(De.primitive.size[20]), et = Re(De.primitive.size[16]), ki = (wi - et) / 2, Si = xi - et - ki * 2, Ni = /* @__PURE__ */ $(
1468
1469
  "relative inline-flex items-center gap-[var(--semantic-space-subgrid-gap)] rounded-md py-[var(--semantic-space-subgrid-gap)] outline-offset-2 select-none hds-touch-row",
1469
1470
  {
1470
1471
  variants: {
@@ -1532,13 +1533,13 @@ const Aa = /* @__PURE__ */ oe(
1532
1533
  const v = me(), { visualState: u, isHover: b, isFocused: w, isPressed: x, isDisabled: S, handlers: N } = Te({
1533
1534
  disabled: l,
1534
1535
  frozenState: v
1535
- }), f = j("productive");
1536
- return /* @__PURE__ */ h(
1536
+ }), h = j("productive");
1537
+ return /* @__PURE__ */ f(
1537
1538
  E.label,
1538
1539
  {
1539
1540
  tabIndex: -1,
1540
1541
  whileTap: S ? void 0 : { scale: 0.99 },
1541
- transition: { duration: f.duration, ease: f.easing },
1542
+ transition: { duration: h.duration, ease: h.easing },
1542
1543
  onMouseEnter: N.onMouseEnter,
1543
1544
  onMouseLeave: N.onMouseLeave,
1544
1545
  onPointerDown: N.onPointerDown,
@@ -1579,11 +1580,11 @@ const Aa = /* @__PURE__ */ oe(
1579
1580
  scale: x ? 0.96 : b || w ? 1.04 : 1
1580
1581
  },
1581
1582
  transition: {
1582
- duration: f.duration,
1583
- ease: f.easing
1583
+ duration: h.duration,
1584
+ ease: h.easing
1584
1585
  },
1585
1586
  style: {
1586
- transition: `background-color ${f.duration}s ease, border-color ${f.duration}s ease`
1587
+ transition: `background-color ${h.duration}s ease, border-color ${h.duration}s ease`
1587
1588
  },
1588
1589
  className: Ci({ on: i, disabled: S }),
1589
1590
  children: /* @__PURE__ */ t(
@@ -1591,8 +1592,8 @@ const Aa = /* @__PURE__ */ oe(
1591
1592
  {
1592
1593
  animate: { x: i ? Si : 0 },
1593
1594
  transition: {
1594
- duration: f.duration,
1595
- ease: f.easing
1595
+ duration: h.duration,
1596
+ ease: h.easing
1596
1597
  },
1597
1598
  className: Di()
1598
1599
  }
@@ -1607,8 +1608,8 @@ const Aa = /* @__PURE__ */ oe(
1607
1608
  x: x ? D.space.px1 : 0
1608
1609
  },
1609
1610
  transition: {
1610
- duration: f.duration,
1611
- ease: f.easing
1611
+ duration: h.duration,
1612
+ ease: h.easing
1612
1613
  },
1613
1614
  style: {
1614
1615
  ...D.typeStyles.ui,
@@ -1638,7 +1639,7 @@ const Aa = /* @__PURE__ */ oe(
1638
1639
  success: { bar: "bg-feedback-success", ring: "text-feedback-success" },
1639
1640
  warning: { bar: "bg-feedback-warning", ring: "text-feedback-warning" },
1640
1641
  info: { bar: "bg-feedback-info", ring: "text-feedback-info" }
1641
- }, Pi = {
1642
+ }, Ri = {
1642
1643
  sm: { box: 16, stroke: 2 },
1643
1644
  md: { box: 24, stroke: 3 },
1644
1645
  lg: { box: 32, stroke: 3 }
@@ -1666,7 +1667,7 @@ const Aa = /* @__PURE__ */ oe(
1666
1667
  "data-tone": s
1667
1668
  };
1668
1669
  if (o === "circular") {
1669
- const { box: x, stroke: S } = Pi[i ?? "md"], N = (x - S) / 2, f = 2 * Math.PI * N, k = f * (v ? 0.75 : 1 - b / 100);
1670
+ const { box: x, stroke: S } = Ri[i ?? "md"], N = (x - S) / 2, h = 2 * Math.PI * N, k = h * (v ? 0.75 : 1 - b / 100);
1670
1671
  return /* @__PURE__ */ t(
1671
1672
  "span",
1672
1673
  {
@@ -1674,7 +1675,7 @@ const Aa = /* @__PURE__ */ oe(
1674
1675
  ...w,
1675
1676
  className: d("inline-flex", Be[s].ring, e),
1676
1677
  ...p,
1677
- children: /* @__PURE__ */ h(
1678
+ children: /* @__PURE__ */ f(
1678
1679
  "svg",
1679
1680
  {
1680
1681
  width: x,
@@ -1702,7 +1703,7 @@ const Aa = /* @__PURE__ */ oe(
1702
1703
  r: N,
1703
1704
  strokeWidth: S,
1704
1705
  strokeLinecap: "round",
1705
- strokeDasharray: f,
1706
+ strokeDasharray: h,
1706
1707
  strokeDashoffset: k,
1707
1708
  className: "stroke-current",
1708
1709
  transform: `rotate(-90 ${x / 2} ${x / 2})`
@@ -1735,7 +1736,7 @@ const Aa = /* @__PURE__ */ oe(
1735
1736
  }
1736
1737
  );
1737
1738
  }
1738
- ), Ri = /* @__PURE__ */ $("hds-skeleton block", {
1739
+ ), Pi = /* @__PURE__ */ $("hds-skeleton block", {
1739
1740
  variants: {
1740
1741
  variant: {
1741
1742
  text: "rounded",
@@ -1753,7 +1754,7 @@ const Aa = /* @__PURE__ */ oe(
1753
1754
  ref: l,
1754
1755
  "aria-hidden": "true",
1755
1756
  "data-variant": i,
1756
- className: d(Ri({ variant: i }), e),
1757
+ className: d(Pi({ variant: i }), e),
1757
1758
  style: { width: a, height: p, ...o },
1758
1759
  ...s
1759
1760
  }
@@ -1811,7 +1812,7 @@ const Aa = /* @__PURE__ */ oe(
1811
1812
  },
1812
1813
  defaultVariants: { variant: "primary", fullWidth: !1 }
1813
1814
  }
1814
- ), Ai = /* @__PURE__ */ $(
1815
+ ), Mi = /* @__PURE__ */ $(
1815
1816
  "relative m-0 flex flex-col items-center justify-center gap-[var(--semantic-space-subgrid-hairline)] rounded-md border-0 bg-transparent py-[var(--semantic-space-subgrid-gap)] text-center transition-[color,outline-color,transform] duration-[var(--hds-motion-productive-duration)] ease-[var(--hds-motion-productive-easing)]",
1816
1817
  {
1817
1818
  variants: {
@@ -1889,7 +1890,7 @@ const Aa = /* @__PURE__ */ oe(
1889
1890
  disabled: !1
1890
1891
  }
1891
1892
  }
1892
- ), Mi = /* @__PURE__ */ $(
1893
+ ), Ai = /* @__PURE__ */ $(
1893
1894
  "pointer-events-none absolute inset-0 z-0 rounded-md bg-transparent shadow-none",
1894
1895
  {
1895
1896
  variants: {
@@ -2008,7 +2009,7 @@ const Aa = /* @__PURE__ */ oe(
2008
2009
  ), Bi = /* @__PURE__ */ $(
2009
2010
  // tier-ok: primitive.zIndex.10, reached as hds.zIndex.focus, has no semantic alias — same primitive ref the pre-Tailwind inline style used
2010
2011
  "relative z-[var(--primitive-zIndex-10)] max-w-[60ch] hds-type-ui text-current"
2011
- ), _a = /* @__PURE__ */ oe(
2012
+ ), Ga = /* @__PURE__ */ oe(
2012
2013
  function({
2013
2014
  label: e,
2014
2015
  "aria-label": i,
@@ -2021,8 +2022,8 @@ const Aa = /* @__PURE__ */ oe(
2021
2022
  railPadding: c,
2022
2023
  segmentPaddingX: v
2023
2024
  }, u) {
2024
- const [b, w] = X(null), [x, S] = X(null), f = me(), k = f === "disabled", P = j("productive"), H = s === "sm", V = l === "secondary", C = i ?? e, R = v ?? (H ? D.semantic.space.scale.xs : D.semantic.space.layout.gap);
2025
- return /* @__PURE__ */ h("div", { ref: u, className: Vi({ fullWidth: p }), children: [
2025
+ const [b, w] = X(null), [x, S] = X(null), h = me(), k = h === "disabled", R = j("productive"), H = s === "sm", V = l === "secondary", C = i ?? e, P = v ?? (H ? D.semantic.space.scale.xs : D.semantic.space.layout.gap);
2026
+ return /* @__PURE__ */ f("div", { ref: u, className: Vi({ fullWidth: p }), children: [
2026
2027
  e && // inline-ok: pb here mirrors the dynamic-padding cases below — token value, not a magic number, kept inline to match the group's spacing rhythm without a one-off arbitrary class
2027
2028
  /* @__PURE__ */ t(
2028
2029
  "span",
@@ -2033,7 +2034,7 @@ const Aa = /* @__PURE__ */ oe(
2033
2034
  }
2034
2035
  ),
2035
2036
  /* @__PURE__ */ t(
2036
- Ae.Root,
2037
+ Me.Root,
2037
2038
  {
2038
2039
  type: "single",
2039
2040
  role: "radiogroup",
@@ -2046,44 +2047,44 @@ const Aa = /* @__PURE__ */ oe(
2046
2047
  className: Ii({ variant: l, fullWidth: p }),
2047
2048
  style: { padding: c ?? "4px" },
2048
2049
  children: a.map((T) => {
2049
- const L = T.value === r, y = f ? f === "hover" && L : b === T.value, M = f === "pressed" && L, Y = f ? f === "focused" && L : x === T.value, F = k, _ = M ? "pressed" : y ? "hover" : "rest", Q = !!f && Y;
2050
+ const L = T.value === r, y = h ? h === "hover" && L : b === T.value, A = h === "pressed" && L, Y = h ? h === "focused" && L : x === T.value, F = k, G = A ? "pressed" : y ? "hover" : "rest", Q = !!h && Y;
2050
2051
  return /* @__PURE__ */ t(
2051
- Ae.Item,
2052
+ Me.Item,
2052
2053
  {
2053
2054
  asChild: !0,
2054
2055
  value: T.value,
2055
2056
  disabled: F,
2056
- children: /* @__PURE__ */ h(
2057
+ children: /* @__PURE__ */ f(
2057
2058
  E.button,
2058
2059
  {
2059
2060
  type: "button",
2060
- onHoverStart: () => !f && w(T.value),
2061
- onHoverEnd: () => !f && w(null),
2062
- onFocus: () => !f && S(T.value),
2063
- onBlur: () => !f && S(null),
2061
+ onHoverStart: () => !h && w(T.value),
2062
+ onHoverEnd: () => !h && w(null),
2063
+ onFocus: () => !h && S(T.value),
2064
+ onBlur: () => !h && S(null),
2064
2065
  animate: V ? {
2065
- y: L ? 0 : M ? 1 : 0,
2066
+ y: L ? 0 : A ? 1 : 0,
2066
2067
  scale: L ? 1 : y ? 0.995 : 1
2067
2068
  } : void 0,
2068
2069
  transition: V ? {
2069
- duration: P.duration,
2070
- ease: P.easing
2070
+ duration: R.duration,
2071
+ ease: R.easing
2071
2072
  } : void 0,
2072
2073
  className: d(
2073
2074
  "hds-focus",
2074
- Ai({
2075
+ Mi({
2075
2076
  size: s,
2076
2077
  fullWidth: p,
2077
2078
  variant: l,
2078
2079
  active: L,
2079
- interaction: _,
2080
+ interaction: G,
2080
2081
  disabled: F
2081
2082
  }),
2082
2083
  Q && Hi({ variant: l })
2083
2084
  ),
2084
2085
  style: {
2085
- paddingLeft: R,
2086
- paddingRight: R
2086
+ paddingLeft: P,
2087
+ paddingRight: P
2087
2088
  },
2088
2089
  children: [
2089
2090
  /* @__PURE__ */ t(
@@ -2091,10 +2092,10 @@ const Aa = /* @__PURE__ */ oe(
2091
2092
  {
2092
2093
  "aria-hidden": "true",
2093
2094
  className: d(
2094
- Mi({
2095
+ Ai({
2095
2096
  variant: l,
2096
2097
  active: L,
2097
- interaction: _,
2098
+ interaction: G,
2098
2099
  disabled: F
2099
2100
  })
2100
2101
  )
@@ -2108,7 +2109,7 @@ const Aa = /* @__PURE__ */ oe(
2108
2109
  Ei({
2109
2110
  variant: l,
2110
2111
  active: L,
2111
- interaction: _,
2112
+ interaction: G,
2112
2113
  disabled: F
2113
2114
  })
2114
2115
  ),
@@ -2126,7 +2127,7 @@ const Aa = /* @__PURE__ */ oe(
2126
2127
  )
2127
2128
  ] });
2128
2129
  }
2129
- ), Wi = /* @__PURE__ */ ue(G.Portal), Oa = /* @__PURE__ */ oe(function({
2130
+ ), Wi = /* @__PURE__ */ ue(O.Portal), _a = /* @__PURE__ */ oe(function({
2130
2131
  label: e,
2131
2132
  showLabel: i = !0,
2132
2133
  options: a,
@@ -2137,8 +2138,8 @@ const Aa = /* @__PURE__ */ oe(
2137
2138
  "aria-describedby": p,
2138
2139
  "aria-invalid": c
2139
2140
  }, v) {
2140
- const u = a.find((f) => f.value === r), b = (u == null ? void 0 : u.label) ?? "", w = Ne(), x = Ne(), S = l ?? x, N = i && !!e;
2141
- return /* @__PURE__ */ h("div", { className: d("flex flex-col", ne), children: [
2141
+ const u = a.find((h) => h.value === r), b = (u == null ? void 0 : u.label) ?? "", w = Ne(), x = Ne(), S = l ?? x, N = i && !!e;
2142
+ return /* @__PURE__ */ f("div", { className: d("flex flex-col", ne), children: [
2142
2143
  i ? /* @__PURE__ */ t(
2143
2144
  "label",
2144
2145
  {
@@ -2149,9 +2150,9 @@ const Aa = /* @__PURE__ */ oe(
2149
2150
  children: e
2150
2151
  }
2151
2152
  ) : null,
2152
- /* @__PURE__ */ h(G.Root, { value: r, onValueChange: o, children: [
2153
- /* @__PURE__ */ h(
2154
- G.Trigger,
2153
+ /* @__PURE__ */ f(O.Root, { value: r, onValueChange: o, children: [
2154
+ /* @__PURE__ */ f(
2155
+ O.Trigger,
2155
2156
  {
2156
2157
  ref: v,
2157
2158
  id: S,
@@ -2166,13 +2167,13 @@ const Aa = /* @__PURE__ */ oe(
2166
2167
  "hover:border-ring data-[state=open]:border-ring"
2167
2168
  ),
2168
2169
  children: [
2169
- /* @__PURE__ */ t(G.Value, {}),
2170
- /* @__PURE__ */ t(G.Icon, { className: "flex shrink-0 text-muted-foreground", children: /* @__PURE__ */ t(A, { icon: je, size: "small", color: "currentColor" }) })
2170
+ /* @__PURE__ */ t(O.Value, {}),
2171
+ /* @__PURE__ */ t(O.Icon, { className: "flex shrink-0 text-muted-foreground", children: /* @__PURE__ */ t(M, { icon: je, size: "small", color: "currentColor" }) })
2171
2172
  ]
2172
2173
  }
2173
2174
  ),
2174
2175
  /* @__PURE__ */ t(Wi, { container: s, children: /* @__PURE__ */ t(
2175
- G.Content,
2176
+ O.Content,
2176
2177
  {
2177
2178
  position: "popper",
2178
2179
  sideOffset: 4,
@@ -2186,21 +2187,21 @@ const Aa = /* @__PURE__ */ oe(
2186
2187
  "z-50 overflow-hidden rounded-md border",
2187
2188
  "border-border bg-popover text-popover-foreground shadow-md"
2188
2189
  ),
2189
- children: /* @__PURE__ */ t(G.Viewport, { className: "p-1", children: a.map((f) => /* @__PURE__ */ h(
2190
- G.Item,
2190
+ children: /* @__PURE__ */ t(O.Viewport, { className: "p-1", children: a.map((h) => /* @__PURE__ */ f(
2191
+ O.Item,
2191
2192
  {
2192
- value: f.value,
2193
+ value: h.value,
2193
2194
  className: d(
2194
2195
  "relative flex w-full cursor-pointer select-none items-center justify-between gap-2 rounded-sm px-2 py-1.5 hds-type-ui outline-none",
2195
2196
  "text-foreground data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground",
2196
2197
  "data-[highlighted]:ring-2 data-[highlighted]:ring-inset data-[highlighted]:ring-ring"
2197
2198
  ),
2198
2199
  children: [
2199
- /* @__PURE__ */ t(G.ItemText, { children: f.label }),
2200
- /* @__PURE__ */ t(G.ItemIndicator, { className: "flex shrink-0", children: /* @__PURE__ */ t(A, { icon: pe, size: "small", color: "currentColor" }) })
2200
+ /* @__PURE__ */ t(O.ItemText, { children: h.label }),
2201
+ /* @__PURE__ */ t(O.ItemIndicator, { className: "flex shrink-0", children: /* @__PURE__ */ t(M, { icon: pe, size: "small", color: "currentColor" }) })
2201
2202
  ]
2202
2203
  },
2203
- f.value
2204
+ h.value
2204
2205
  )) })
2205
2206
  }
2206
2207
  ) })
@@ -2212,7 +2213,7 @@ const Aa = /* @__PURE__ */ oe(
2212
2213
  // yet for dimensional primitives (see hds#186 follow-up).
2213
2214
  // tier-ok: regulatory a11y constant, not a design decision. hds#186
2214
2215
  "group inline-flex min-w-[var(--primitive-size-interactive-min)] cursor-pointer select-none items-center justify-center border-0 bg-transparent p-0 text-inherit transition-colors disabled:pointer-events-none disabled:cursor-not-allowed disabled:text-[var(--semantic-color-content-disabled)]"
2215
- ), _i = /* @__PURE__ */ $(
2216
+ ), Gi = /* @__PURE__ */ $(
2216
2217
  "pointer-events-none box-border inline-flex min-h-[var(--component-tag-minHeight)] min-w-[var(--component-tag-minWidth)] items-center justify-center whitespace-nowrap rounded-[var(--component-tag-radius)] border border-solid px-[var(--component-tag-paddingX)] py-[var(--component-tag-paddingY)] hds-type-caption transition-colors",
2217
2218
  {
2218
2219
  variants: {
@@ -2223,7 +2224,7 @@ const Aa = /* @__PURE__ */ oe(
2223
2224
  },
2224
2225
  defaultVariants: { selected: !1 }
2225
2226
  }
2226
- ), Ga = /* @__PURE__ */ m.forwardRef(function({ children: e, active: i = !1, className: a, type: r = "button", ...o }, s) {
2227
+ ), Oa = /* @__PURE__ */ m.forwardRef(function({ children: e, active: i = !1, className: a, type: r = "button", ...o }, s) {
2227
2228
  return /* @__PURE__ */ t(
2228
2229
  "button",
2229
2230
  {
@@ -2233,10 +2234,10 @@ const Aa = /* @__PURE__ */ oe(
2233
2234
  "data-active": i ? "true" : void 0,
2234
2235
  className: d("hds-focus", Fi(), a),
2235
2236
  ...o,
2236
- children: /* @__PURE__ */ t("span", { className: _i({ selected: i }), children: e })
2237
+ children: /* @__PURE__ */ t("span", { className: Gi({ selected: i }), children: e })
2237
2238
  }
2238
2239
  );
2239
- }), Oi = /* @__PURE__ */ $(
2240
+ }), _i = /* @__PURE__ */ $(
2240
2241
  "inline-flex items-center justify-center whitespace-nowrap align-middle select-none rounded border border-border bg-muted text-muted-foreground",
2241
2242
  {
2242
2243
  variants: {
@@ -2254,7 +2255,7 @@ const Aa = /* @__PURE__ */ oe(
2254
2255
  {
2255
2256
  ref: o,
2256
2257
  "data-size": i ?? "md",
2257
- className: d(Oi({ size: i }), e),
2258
+ className: d(_i({ size: i }), e),
2258
2259
  ...r,
2259
2260
  children: a
2260
2261
  }
@@ -2263,7 +2264,7 @@ const Aa = /* @__PURE__ */ oe(
2263
2264
  function We(n) {
2264
2265
  return n instanceof Date ? n : new Date(n);
2265
2266
  }
2266
- const Gi = [
2267
+ const Oi = [
2267
2268
  ["year", 3600 * 24 * 365],
2268
2269
  ["month", 3600 * 24 * 30],
2269
2270
  ["week", 3600 * 24 * 7],
@@ -2274,7 +2275,7 @@ const Gi = [
2274
2275
  ];
2275
2276
  function ji(n, e, i) {
2276
2277
  const a = new Intl.RelativeTimeFormat(i, { numeric: "auto" }), r = Math.round((n.getTime() - e.getTime()) / 1e3), o = Math.abs(r);
2277
- for (const [s, l] of Gi)
2278
+ for (const [s, l] of Oi)
2278
2279
  if (o >= l || s === "second")
2279
2280
  return a.format(Math.round(r / l), s);
2280
2281
  return a.format(0, "second");
@@ -2310,7 +2311,7 @@ const Ui = {
2310
2311
  defaultVariants: { size: "md" }
2311
2312
  }), Ya = /* @__PURE__ */ m.forwardRef(
2312
2313
  function({ className: e, size: i, attribution: a, children: r, ...o }, s) {
2313
- return /* @__PURE__ */ h(
2314
+ return /* @__PURE__ */ f(
2314
2315
  "blockquote",
2315
2316
  {
2316
2317
  ref: s,
@@ -2343,7 +2344,7 @@ const Ui = {
2343
2344
  ), Xa = /* @__PURE__ */ m.forwardRef(
2344
2345
  function({ className: e, children: i, max: a, size: r, ...o }, s) {
2345
2346
  const l = r ?? "md", p = m.Children.toArray(i).filter(m.isValidElement), c = a && a > 0 ? a : p.length, v = p.slice(0, c), u = p.length - v.length;
2346
- return /* @__PURE__ */ h(
2347
+ return /* @__PURE__ */ f(
2347
2348
  "div",
2348
2349
  {
2349
2350
  ref: s,
@@ -2363,7 +2364,7 @@ const Ui = {
2363
2364
  )
2364
2365
  })
2365
2366
  ),
2366
- u > 0 && /* @__PURE__ */ h("span", { "aria-label": `+${u} more`, className: qi({ size: r }), children: [
2367
+ u > 0 && /* @__PURE__ */ f("span", { "aria-label": `+${u} more`, className: qi({ size: r }), children: [
2367
2368
  "+",
2368
2369
  u
2369
2370
  ] })
@@ -2382,7 +2383,7 @@ const Ui = {
2382
2383
  defaultVariants: { orientation: "vertical" }
2383
2384
  }), Ja = /* @__PURE__ */ m.forwardRef(
2384
2385
  function({ className: e, items: i, orientation: a = "vertical", variant: r = "plain", footer: o, ...s }, l) {
2385
- return r === "divided" ? /* @__PURE__ */ h(
2386
+ return r === "divided" ? /* @__PURE__ */ f(
2386
2387
  "dl",
2387
2388
  {
2388
2389
  ref: l,
@@ -2394,7 +2395,7 @@ const Ui = {
2394
2395
  },
2395
2396
  ...s,
2396
2397
  children: [
2397
- i.map((p, c) => /* @__PURE__ */ h(
2398
+ i.map((p, c) => /* @__PURE__ */ f(
2398
2399
  "div",
2399
2400
  {
2400
2401
  className: "flex flex-col gap-2 p-5",
@@ -2422,7 +2423,7 @@ const Ui = {
2422
2423
  },
2423
2424
  c
2424
2425
  )),
2425
- o != null && /* @__PURE__ */ h(
2426
+ o != null && /* @__PURE__ */ f(
2426
2427
  "div",
2427
2428
  {
2428
2429
  className: "p-5 hds-type-ui",
@@ -2446,7 +2447,7 @@ const Ui = {
2446
2447
  "data-orientation": a,
2447
2448
  className: d(Fe({ orientation: a }), e),
2448
2449
  ...s,
2449
- children: i.map((p, c) => /* @__PURE__ */ h(m.Fragment, { children: [
2450
+ children: i.map((p, c) => /* @__PURE__ */ f(m.Fragment, { children: [
2450
2451
  /* @__PURE__ */ t("dt", { className: "hds-type-ui text-muted-foreground", children: p.term }),
2451
2452
  /* @__PURE__ */ t("dd", { className: d("m-0 text-foreground"), children: p.description })
2452
2453
  ] }, c))
@@ -2458,7 +2459,7 @@ const Ui = {
2458
2459
  "data-orientation": a,
2459
2460
  className: d(Fe({ orientation: a }), e),
2460
2461
  ...s,
2461
- children: i.map((p, c) => /* @__PURE__ */ h("div", { className: "flex flex-col gap-0.5", children: [
2462
+ children: i.map((p, c) => /* @__PURE__ */ f("div", { className: "flex flex-col gap-0.5", children: [
2462
2463
  /* @__PURE__ */ t("dt", { className: "hds-type-ui text-muted-foreground", children: p.term }),
2463
2464
  /* @__PURE__ */ t("dd", { className: d("m-0 text-foreground"), children: p.description })
2464
2465
  ] }, c))
@@ -2477,7 +2478,7 @@ const Ui = {
2477
2478
  as: p = "div"
2478
2479
  }, c) {
2479
2480
  const [v, u] = e;
2480
- return /* @__PURE__ */ h(
2481
+ return /* @__PURE__ */ f(
2481
2482
  p,
2482
2483
  {
2483
2484
  ref: c,
@@ -2607,7 +2608,7 @@ const Xi = /* @__PURE__ */ $("", {
2607
2608
  const { LinkComponent: s } = Xe();
2608
2609
  return /* @__PURE__ */ t("nav", { ref: o, "aria-label": i, className: d("w-full", a), ...r, children: /* @__PURE__ */ t("ol", { className: "flex flex-wrap items-center gap-2", children: e.map((l, p) => {
2609
2610
  const c = p === e.length - 1, v = !!l.href && !c;
2610
- return /* @__PURE__ */ h("li", { className: "inline-flex items-center gap-2", children: [
2611
+ return /* @__PURE__ */ f("li", { className: "inline-flex items-center gap-2", children: [
2611
2612
  v ? /* @__PURE__ */ t(
2612
2613
  s,
2613
2614
  {
@@ -2626,7 +2627,7 @@ const Xi = /* @__PURE__ */ $("", {
2626
2627
  }
2627
2628
  ),
2628
2629
  !c && /* @__PURE__ */ t(
2629
- A,
2630
+ M,
2630
2631
  {
2631
2632
  icon: Ce,
2632
2633
  size: "small",
@@ -2666,12 +2667,12 @@ const nr = /* @__PURE__ */ m.forwardRef(
2666
2667
  ...u
2667
2668
  }, b) {
2668
2669
  var de;
2669
- const [w, x] = m.useState(!1), [S, N] = m.useState(""), [f, k] = m.useState(0), P = m.useId(), H = `${P}-list`, V = o || i, C = u.multiple ? u.value : u.value === null ? [] : [u.value], R = u.multiple ? C.flatMap((g) => e.find((z) => z.value === g) ?? []) : [], T = R.length > 0 ? `${R.length} selected` : void 0, L = u.multiple ? T : (de = e.find((g) => g.value === u.value)) == null ? void 0 : de.label, y = m.useMemo(() => {
2670
+ const [w, x] = m.useState(!1), [S, N] = m.useState(""), [h, k] = m.useState(0), R = m.useId(), H = `${R}-list`, V = o || i, C = u.multiple ? u.value : u.value === null ? [] : [u.value], P = u.multiple ? C.flatMap((g) => e.find((z) => z.value === g) ?? []) : [], T = P.length > 0 ? `${P.length} selected` : void 0, L = u.multiple ? T : (de = e.find((g) => g.value === u.value)) == null ? void 0 : de.label, y = m.useMemo(() => {
2670
2671
  const g = S.trim().toLowerCase();
2671
2672
  return g ? e.filter((z) => z.label.toLowerCase().includes(g)) : e;
2672
- }, [e, S]), M = `${w}|${y.map((g) => `${g.value}:${g.disabled ? 1 : 0}`).join("\0")}`, [Y, F] = m.useState(M);
2673
- Y !== M && (F(M), k(Ji(y)));
2674
- const _ = m.useRef(!1);
2673
+ }, [e, S]), A = `${w}|${y.map((g) => `${g.value}:${g.disabled ? 1 : 0}`).join("\0")}`, [Y, F] = m.useState(A);
2674
+ Y !== A && (F(A), k(Ji(y)));
2675
+ const G = m.useRef(!1);
2675
2676
  function Q(g) {
2676
2677
  if (!g.disabled) {
2677
2678
  if (u.multiple) {
@@ -2692,32 +2693,32 @@ const nr = /* @__PURE__ */ m.forwardRef(
2692
2693
  m.useEffect(() => {
2693
2694
  var K;
2694
2695
  const g = I.current;
2695
- if (!g || R.length === g.count || (I.current = null, R.length > g.count)) return;
2696
+ if (!g || P.length === g.count || (I.current = null, P.length > g.count)) return;
2696
2697
  const z = ve.current, W = (z == null ? void 0 : z.querySelectorAll("li button:not(:disabled)")) ?? [];
2697
2698
  (K = W[Math.min(g.index, W.length - 1)] ?? (z == null ? void 0 : z.querySelector('[role="combobox"]'))) == null || K.focus();
2698
- }, [R.length]);
2699
- function fe(g, z) {
2700
- u.multiple && (I.current = { index: z, count: R.length }, u.onChange(C.filter((W) => W !== g.value)));
2699
+ }, [P.length]);
2700
+ function he(g, z) {
2701
+ u.multiple && (I.current = { index: z, count: P.length }, u.onChange(C.filter((W) => W !== g.value)));
2701
2702
  }
2702
2703
  function ce(g) {
2703
2704
  if (y.length !== 0) {
2704
2705
  if (g.key === "ArrowDown" || g.key === "ArrowUp") {
2705
2706
  g.preventDefault();
2706
- const z = Ki(y, f, g.key === "ArrowDown" ? 1 : -1);
2707
- z !== f && (_.current = !0, k(z));
2707
+ const z = Ki(y, h, g.key === "ArrowDown" ? 1 : -1);
2708
+ z !== h && (G.current = !0, k(z));
2708
2709
  } else if (g.key === "Enter") {
2709
2710
  g.preventDefault();
2710
- const z = y[f];
2711
+ const z = y[h];
2711
2712
  z && Q(z);
2712
2713
  }
2713
2714
  }
2714
2715
  }
2715
- const te = (g) => `${P}-opt-${g}`, q = y[f] ? te(f) : void 0;
2716
+ const te = (g) => `${R}-opt-${g}`, q = y[h] ? te(h) : void 0;
2716
2717
  m.useEffect(() => {
2717
2718
  var g;
2718
- _.current && (_.current = !1, w && q && ((g = document.getElementById(q)) == null || g.scrollIntoView({ block: "nearest" })));
2719
+ G.current && (G.current = !1, w && q && ((g = document.getElementById(q)) == null || g.scrollIntoView({ block: "nearest" })));
2719
2720
  }, [w, q]);
2720
- const ie = /* @__PURE__ */ h(
2721
+ const ie = /* @__PURE__ */ f(
2721
2722
  ke,
2722
2723
  {
2723
2724
  open: w,
@@ -2725,7 +2726,7 @@ const nr = /* @__PURE__ */ m.forwardRef(
2725
2726
  x(g), g || N("");
2726
2727
  },
2727
2728
  children: [
2728
- /* @__PURE__ */ t(ke.Anchor, { asChild: !0, children: /* @__PURE__ */ h(
2729
+ /* @__PURE__ */ t(ke.Anchor, { asChild: !0, children: /* @__PURE__ */ f(
2729
2730
  "button",
2730
2731
  {
2731
2732
  ref: ge,
@@ -2750,7 +2751,7 @@ const nr = /* @__PURE__ */ m.forwardRef(
2750
2751
  children: [
2751
2752
  /* @__PURE__ */ t("span", { className: d("truncate", !L && "text-muted-foreground"), children: L || i }),
2752
2753
  /* @__PURE__ */ t(
2753
- A,
2754
+ M,
2754
2755
  {
2755
2756
  icon: je,
2756
2757
  size: "small",
@@ -2761,7 +2762,7 @@ const nr = /* @__PURE__ */ m.forwardRef(
2761
2762
  ]
2762
2763
  }
2763
2764
  ) }),
2764
- /* @__PURE__ */ h(
2765
+ /* @__PURE__ */ f(
2765
2766
  ke.Content,
2766
2767
  {
2767
2768
  "aria-label": V,
@@ -2814,8 +2815,8 @@ const nr = /* @__PURE__ */ m.forwardRef(
2814
2815
  "aria-multiselectable": u.multiple || void 0,
2815
2816
  className: d("max-h-60 overflow-y-auto", y.length > 0 && "p-1"),
2816
2817
  children: y.map((g, z) => {
2817
- const W = C.includes(g.value), J = z === f;
2818
- return /* @__PURE__ */ t("li", { role: "none", children: /* @__PURE__ */ h(
2818
+ const W = C.includes(g.value), J = z === h;
2819
+ return /* @__PURE__ */ t("li", { role: "none", children: /* @__PURE__ */ f(
2819
2820
  "button",
2820
2821
  {
2821
2822
  type: "button",
@@ -2834,7 +2835,7 @@ const nr = /* @__PURE__ */ m.forwardRef(
2834
2835
  "disabled:pointer-events-none disabled:text-[var(--semantic-color-content-disabled)]"
2835
2836
  ),
2836
2837
  children: [
2837
- /* @__PURE__ */ t("span", { className: "flex size-4 items-center justify-center", children: W ? /* @__PURE__ */ t(A, { icon: pe, size: "small", color: "currentColor", "aria-hidden": !0 }) : null }),
2838
+ /* @__PURE__ */ t("span", { className: "flex size-4 items-center justify-center", children: W ? /* @__PURE__ */ t(M, { icon: pe, size: "small", color: "currentColor", "aria-hidden": !0 }) : null }),
2838
2839
  /* @__PURE__ */ t("span", { className: "truncate", children: g.label })
2839
2840
  ]
2840
2841
  }
@@ -2849,15 +2850,15 @@ const nr = /* @__PURE__ */ m.forwardRef(
2849
2850
  ]
2850
2851
  }
2851
2852
  );
2852
- return u.multiple ? /* @__PURE__ */ h("div", { ref: ve, className: d("flex flex-col gap-2", ne), children: [
2853
+ return u.multiple ? /* @__PURE__ */ f("div", { ref: ve, className: d("flex flex-col gap-2", ne), children: [
2853
2854
  ie,
2854
- R.length > 0 ? /* @__PURE__ */ t("ul", { className: "flex flex-wrap gap-1", children: R.map((g, z) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ h(
2855
+ P.length > 0 ? /* @__PURE__ */ t("ul", { className: "flex flex-wrap gap-1", children: P.map((g, z) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ f(
2855
2856
  "button",
2856
2857
  {
2857
2858
  type: "button",
2858
2859
  "aria-label": `Remove ${g.label}`,
2859
2860
  disabled: v || g.disabled,
2860
- onClick: () => fe(g, z),
2861
+ onClick: () => he(g, z),
2861
2862
  className: d(
2862
2863
  "hds-focus inline-flex h-7 items-center gap-1 rounded-sm border border-border bg-muted pl-2 pr-1",
2863
2864
  "hds-type-caption text-foreground hover:bg-accent hover:text-accent-foreground",
@@ -2865,7 +2866,7 @@ const nr = /* @__PURE__ */ m.forwardRef(
2865
2866
  ),
2866
2867
  children: [
2867
2868
  g.label,
2868
- /* @__PURE__ */ t(A, { icon: $e, size: "small", color: "currentColor", "aria-hidden": !0 })
2869
+ /* @__PURE__ */ t(M, { icon: $e, size: "small", color: "currentColor", "aria-hidden": !0 })
2869
2870
  ]
2870
2871
  }
2871
2872
  ) }, g.value)) }) : null
@@ -2901,55 +2902,55 @@ const nr = /* @__PURE__ */ m.forwardRef(
2901
2902
  contentStyle: c,
2902
2903
  children: v
2903
2904
  }, u) {
2904
- const [b, w] = X(i), x = Ne(), S = Se(null), N = Se(null), f = a ?? b, k = f ? "open" : "closed", P = j("productive");
2905
+ const [b, w] = X(i), x = Ne(), S = Se(null), N = Se(null), h = a ?? b, k = h ? "open" : "closed", R = j("productive");
2905
2906
  function H() {
2906
- var y, M;
2907
- const L = !f;
2908
- !L && ((y = N.current) != null && y.contains(document.activeElement)) && ((M = S.current) == null || M.focus()), a === void 0 && w(L), r == null || r(L);
2907
+ var y, A;
2908
+ const L = !h;
2909
+ !L && ((y = N.current) != null && y.contains(document.activeElement)) && ((A = S.current) == null || A.focus()), a === void 0 && w(L), r == null || r(L);
2909
2910
  }
2910
2911
  const V = d(
2911
2912
  "hds-focus",
2912
2913
  Zi({ variant: o }),
2913
2914
  o === "nav" ? "hds-text-hover hds-bg-hover-neutral" : "",
2914
2915
  l
2915
- ), C = f ? Qi[o] : 0, R = typeof e == "string" ? /* @__PURE__ */ t(
2916
+ ), C = h ? Qi[o] : 0, P = typeof e == "string" ? /* @__PURE__ */ t(
2916
2917
  "span",
2917
2918
  {
2918
2919
  className: "m-0 text-current",
2919
2920
  style: o === "nav" ? D.typeStyles.ui : D.typeStyles.caption,
2920
2921
  children: e
2921
2922
  }
2922
- ) : e, T = /* @__PURE__ */ h(at, { children: [
2923
- /* @__PURE__ */ h(
2923
+ ) : e, T = /* @__PURE__ */ f(at, { children: [
2924
+ /* @__PURE__ */ f(
2924
2925
  "button",
2925
2926
  {
2926
2927
  ref: S,
2927
2928
  type: "button",
2928
2929
  onClick: H,
2929
- "aria-expanded": f,
2930
+ "aria-expanded": h,
2930
2931
  "aria-controls": x,
2931
2932
  "data-state": k,
2932
2933
  className: V,
2933
2934
  style: p,
2934
2935
  children: [
2935
- /* @__PURE__ */ t("div", { className: "grid min-w-0 flex-1 items-start gap-[var(--semantic-space-subgrid-gap)]", children: R }),
2936
+ /* @__PURE__ */ t("div", { className: "grid min-w-0 flex-1 items-start gap-[var(--semantic-space-subgrid-gap)]", children: P }),
2936
2937
  /* @__PURE__ */ t(
2937
2938
  E.span,
2938
2939
  {
2939
2940
  "aria-hidden": "true",
2940
- animate: { rotate: f ? 0 : -90 },
2941
+ animate: { rotate: h ? 0 : -90 },
2941
2942
  transition: {
2942
- duration: P.duration,
2943
- ease: P.easing
2943
+ duration: R.duration,
2944
+ ease: R.easing
2944
2945
  },
2945
2946
  className: "inline-grid size-[var(--hds-icon-small)] shrink-0 origin-center place-items-center self-center overflow-hidden leading-none",
2946
- children: /* @__PURE__ */ t(A, { icon: pt, size: "small", color: "currentColor" })
2947
+ children: /* @__PURE__ */ t(M, { icon: pt, size: "small", color: "currentColor" })
2947
2948
  }
2948
2949
  )
2949
2950
  ]
2950
2951
  }
2951
2952
  ),
2952
- /* @__PURE__ */ t(nt, { initial: !1, children: f && /* @__PURE__ */ t(
2953
+ /* @__PURE__ */ t(nt, { initial: !1, children: h && /* @__PURE__ */ t(
2953
2954
  E.div,
2954
2955
  {
2955
2956
  ref: N,
@@ -2958,8 +2959,8 @@ const nr = /* @__PURE__ */ m.forwardRef(
2958
2959
  animate: { opacity: 1, height: "auto" },
2959
2960
  exit: { opacity: 0, height: 0 },
2960
2961
  transition: {
2961
- duration: P.duration,
2962
- ease: P.easing
2962
+ duration: R.duration,
2963
+ ease: R.easing
2963
2964
  },
2964
2965
  className: "overflow-hidden",
2965
2966
  children: /* @__PURE__ */ t(
@@ -2985,20 +2986,20 @@ const nr = /* @__PURE__ */ m.forwardRef(
2985
2986
  );
2986
2987
  }
2987
2988
  );
2988
- function he(n, e) {
2989
+ function fe(n, e) {
2989
2990
  return Array.from({ length: e - n + 1 }, (i, a) => n + a);
2990
2991
  }
2991
2992
  function ea(n, e, i = 1) {
2992
2993
  const a = i * 2 + 5;
2993
- if (e <= a) return he(1, e);
2994
+ if (e <= a) return fe(1, e);
2994
2995
  const r = Math.max(n - i, 1), o = Math.min(n + i, e), s = r > 2, l = o < e - 1;
2995
- return !s && l ? [...he(1, i * 2 + 3), "ellipsis", e] : s && !l ? [1, "ellipsis", ...he(e - (i * 2 + 2), e)] : [1, "ellipsis", ...he(r, o), "ellipsis", e];
2996
+ return !s && l ? [...fe(1, i * 2 + 3), "ellipsis", e] : s && !l ? [1, "ellipsis", ...fe(e - (i * 2 + 2), e)] : [1, "ellipsis", ...fe(r, o), "ellipsis", e];
2996
2997
  }
2997
2998
  const sr = /* @__PURE__ */ m.forwardRef(
2998
2999
  function({ page: e, count: i, onPageChange: a, siblingCount: r = 1, label: o = "Pagination", className: s, ...l }, p) {
2999
3000
  if (i <= 1) return null;
3000
3001
  const c = ea(e, i, r), v = (u) => a(Math.max(1, Math.min(i, u)));
3001
- return /* @__PURE__ */ t("nav", { ref: p, "aria-label": o, className: d("w-full", s), ...l, children: /* @__PURE__ */ h("ul", { className: "flex flex-wrap items-center gap-1", children: [
3002
+ return /* @__PURE__ */ t("nav", { ref: p, "aria-label": o, className: d("w-full", s), ...l, children: /* @__PURE__ */ f("ul", { className: "flex flex-wrap items-center gap-1", children: [
3002
3003
  /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
3003
3004
  be,
3004
3005
  {
@@ -3008,7 +3009,7 @@ const sr = /* @__PURE__ */ m.forwardRef(
3008
3009
  "aria-label": "Previous page",
3009
3010
  disabled: e <= 1,
3010
3011
  onClick: () => v(e - 1),
3011
- iconLeft: /* @__PURE__ */ t(A, { icon: ut, size: "small" })
3012
+ iconLeft: /* @__PURE__ */ t(M, { icon: ut, size: "small" })
3012
3013
  }
3013
3014
  ) }),
3014
3015
  c.map(
@@ -3042,7 +3043,7 @@ const sr = /* @__PURE__ */ m.forwardRef(
3042
3043
  "aria-label": "Next page",
3043
3044
  disabled: e >= i,
3044
3045
  onClick: () => v(e + 1),
3045
- iconLeft: /* @__PURE__ */ t(A, { icon: Ce, size: "small" })
3046
+ iconLeft: /* @__PURE__ */ t(M, { icon: Ce, size: "small" })
3046
3047
  }
3047
3048
  ) })
3048
3049
  ] }) });
@@ -3067,9 +3068,9 @@ function lr() {
3067
3068
  const ia = {
3068
3069
  neutral: ze,
3069
3070
  info: ze,
3070
- success: Ge,
3071
- danger: Oe,
3072
- warning: _e
3071
+ success: Oe,
3072
+ danger: _e,
3073
+ warning: Ge
3073
3074
  };
3074
3075
  function cr({
3075
3076
  children: n,
@@ -3085,11 +3086,11 @@ function cr({
3085
3086
  () => ({ toast: l, dismiss: s }),
3086
3087
  [l, s]
3087
3088
  );
3088
- return /* @__PURE__ */ t(tt.Provider, { value: p, children: /* @__PURE__ */ h(ae.Provider, { duration: e, swipeDirection: i, children: [
3089
+ return /* @__PURE__ */ t(tt.Provider, { value: p, children: /* @__PURE__ */ f(ae.Provider, { duration: e, swipeDirection: i, children: [
3089
3090
  n,
3090
3091
  a.map((c) => {
3091
3092
  const v = c.tone ?? "neutral";
3092
- return /* @__PURE__ */ h(
3093
+ return /* @__PURE__ */ f(
3093
3094
  ae.Root,
3094
3095
  {
3095
3096
  duration: c.duration ?? e,
@@ -3103,7 +3104,7 @@ function cr({
3103
3104
  ),
3104
3105
  children: [
3105
3106
  /* @__PURE__ */ t(
3106
- A,
3107
+ M,
3107
3108
  {
3108
3109
  icon: ia[v],
3109
3110
  size: "small",
@@ -3112,7 +3113,7 @@ function cr({
3112
3113
  "aria-hidden": !0
3113
3114
  }
3114
3115
  ),
3115
- /* @__PURE__ */ h("div", { className: "flex min-w-0 flex-col gap-1", children: [
3116
+ /* @__PURE__ */ f("div", { className: "flex min-w-0 flex-col gap-1", children: [
3116
3117
  /* @__PURE__ */ t(ae.Title, { className: "hds-type-ui", children: c.title }),
3117
3118
  c.description ? /* @__PURE__ */ t(ae.Description, { className: "hds-type-ui text-muted-foreground", children: c.description }) : null
3118
3119
  ] }),
@@ -3124,7 +3125,7 @@ function cr({
3124
3125
  "absolute right-2 top-2 inline-flex size-6 items-center justify-center",
3125
3126
  "rounded-sm text-muted-foreground transition-colors hover:text-foreground hds-focus"
3126
3127
  ),
3127
- children: /* @__PURE__ */ t(A, { icon: $e, size: "small", color: "currentColor", "aria-hidden": !0 })
3128
+ children: /* @__PURE__ */ t(M, { icon: $e, size: "small", color: "currentColor", "aria-hidden": !0 })
3128
3129
  }
3129
3130
  )
3130
3131
  ]
@@ -3143,7 +3144,7 @@ function cr({
3143
3144
  )
3144
3145
  ] }) });
3145
3146
  }
3146
- const aa = "https://www.designtokens.org/schemas/2025.10/format.json", ra = "Adrian Milsap hirobius design tokens - W3C DTCG 2025.10 compliant, Figma SDS architecture", na = /* @__PURE__ */ JSON.parse(`{"$description":"Base values used as inputs to derived token layers.","color":{"$type":"color","neutral":{"50":{"$value":"#fafafa","$description":"Specific value within the neutral range at a defined lightness step."},"100":{"$value":"#f5f5f5","$description":"Specific value within the neutral range at a defined lightness step."},"200":{"$value":"#e5e5e5","$description":"Specific value within the neutral range at a defined lightness step."},"300":{"$value":"#d4d4d4","$description":"Specific value within the neutral range at a defined lightness step."},"400":{"$value":"#a3a3a3","$description":"Specific value within the neutral range at a defined lightness step."},"500":{"$value":"#737373","$description":"Specific value within the neutral range at a defined lightness step."},"600":{"$value":"#525252","$description":"Specific value within the neutral range at a defined lightness step."},"700":{"$value":"#404040","$description":"Specific value within the neutral range at a defined lightness step."},"800":{"$value":"#262626","$description":"Specific value within the neutral range at a defined lightness step."},"850":{"$value":"#1a1a1a","$description":"Specific value within the neutral range at a defined lightness step."},"900":{"$value":"#111111","$description":"Specific value within the neutral range at a defined lightness step."},"950":{"$value":"#0a0a0a","$description":"Specific value within the neutral range at a defined lightness step."},"$description":"Discrete values within the neutral range at defined lightness steps.","white":{"$value":"#ffffff","$description":"Specific value within the neutral range at a defined lightness step."},"black":{"$value":"#000000","$description":"Specific value within the neutral range at a defined lightness step."}},"blue":{"50":{"$value":"oklch(0.96 0.03 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"100":{"$value":"oklch(0.92 0.04 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"200":{"$value":"oklch(0.88 0.07 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"300":{"$value":"oklch(0.70 0.2903 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"400":{"$value":"oklch(0.65 0.2903 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"450":{"$value":"oklch(0.56 0.29 266.60)","$description":"Specific value within the blue range at a defined lightness step."},"500":{"$value":"#1E2EFD","$description":"Specific value within the blue range at a defined lightness step."},"600":{"$value":"oklch(0.45 0.2903 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"700":{"$value":"oklch(0.44 0.2903 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"800":{"$value":"oklch(0.30 0.07 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"900":{"$value":"oklch(0.22 0.05 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"$description":"Discrete values within the blue range at defined lightness steps."},"red":{"50":{"$value":"#fef2f2","$description":"Specific value within the red range at a defined lightness step."},"400":{"$value":"#f87171","$description":"Specific value within the red range at a defined lightness step."},"700":{"$value":"#b91c1c","$description":"Specific value within the red range at a defined lightness step."},"950":{"$value":"#450a0a","$description":"Specific value within the red range at a defined lightness step."},"$description":"Discrete values within the red range at defined lightness steps."},"green":{"50":{"$value":"#ecfdf5","$description":"Specific value within the green range at a defined lightness step."},"400":{"$value":"#34d399","$description":"Specific value within the green range at a defined lightness step."},"700":{"$value":"#047857","$description":"Specific value within the green range at a defined lightness step."},"950":{"$value":"#022c22","$description":"Specific value within the green range at a defined lightness step."},"$description":"Discrete values within the green range at defined lightness steps."},"apple":{"50":{"$value":"#f2faeb","$description":"Apple-green accent tint — faintest step."},"100":{"$value":"#e2f3cf","$description":"Apple-green accent — very light tint."},"200":{"$value":"#c7e7a4","$description":"Apple-green accent — light tint."},"300":{"$value":"#a6d873","$description":"Apple-green accent — soft mid-light step."},"400":{"$value":"#85c84c","$description":"Apple-green accent — bright step; dark-mode rest accent."},"500":{"$value":"#66b239","$description":"Apple-green accent rest — bright, rich apple green; AA for dark (neutral.900) text as a fill."},"600":{"$value":"#54922d","$description":"Apple-green accent — hover / border step."},"700":{"$value":"#416f20","$description":"Apple-green accent — pressed and accent-intent text (AA for text on page and card surfaces)."},"800":{"$value":"#34571b","$description":"Apple-green accent — deep step."},"900":{"$value":"#2b4518","$description":"Apple-green accent — darkest usable step."},"950":{"$value":"#16250c","$description":"Apple-green accent — near-black green substrate."},"$description":"Discrete values within the apple-green (brand accent) range at defined lightness steps. Distinct from the emerald \`green\` feedback/success scale."},"violet":{"50":{"$value":"#f5f3ff","$description":"Specific value within the violet range at a defined lightness step."},"400":{"$value":"#a78bfa","$description":"Specific value within the violet range at a defined lightness step."},"700":{"$value":"#6d28d9","$description":"Specific value within the violet range at a defined lightness step."},"950":{"$value":"#2e1065","$description":"Specific value within the violet range at a defined lightness step."},"$description":"Discrete values within the violet range at defined lightness steps."},"lilac":{"50":{"$value":"#f7f4fe","$description":"Specific value within the lilac range at a defined lightness step."},"100":{"$value":"#efe9fd","$description":"Specific value within the lilac range at a defined lightness step."},"200":{"$value":"#ddd0fb","$description":"Specific value within the lilac range at a defined lightness step."},"300":{"$value":"#c3aef6","$description":"Specific value within the lilac range at a defined lightness step."},"400":{"$value":"#a585ee","$description":"Specific value within the lilac range at a defined lightness step."},"450":{"$value":"#9a6fe8","$description":"Specific value within the lilac range at a defined lightness step."},"500":{"$value":"#6f3fd4","$description":"Lilac accent rest — AA for white text on page and card surfaces."},"600":{"$value":"#5f33c0","$description":"Specific value within the lilac range at a defined lightness step."},"700":{"$value":"#4f2aa3","$description":"Specific value within the lilac range at a defined lightness step."},"800":{"$value":"#3a1f78","$description":"Specific value within the lilac range at a defined lightness step."},"900":{"$value":"#2a1659","$description":"Specific value within the lilac range at a defined lightness step."},"$description":"Lilac ramp at fixed lightness steps. Mirrors the blue ramp's stops; available to brand overlays."},"amber":{"50":{"$value":"#fffbeb","$description":"Specific value within the amber range at a defined lightness step."},"400":{"$value":"#fbbf24","$description":"Specific value within the amber range at a defined lightness step."},"800":{"$value":"#92400e","$description":"Specific value within the amber range at a defined lightness step."},"950":{"$value":"#451a03","$description":"Specific value within the amber range at a defined lightness step."},"$description":"Discrete values within the amber range at defined lightness steps."},"stone":{"100":{"$value":"#F5EFE7","$description":"Stone 100 — near-white warm tint; accent-subtle surface."},"400":{"$value":"#D0B492","$description":"Stone 400 — light warm tone; dark-mode pressed accent."},"450":{"$value":"#BC9D7E","$description":"Stone 450 — medium warm tone; dark-mode hover accent."},"500":{"$value":"#A8896A","$description":"Stone 500 — mid warm tone; dark-mode rest accent."},"600":{"$value":"#8B6F47","$description":"Stone 600 — primary warm stone; light-mode rest accent and CTA surface."},"700":{"$value":"#75593A","$description":"Stone 700 — darker warm stone; light-mode hover accent."},"800":{"$value":"#5C432A","$description":"Stone 800 — deep warm stone; light-mode pressed accent."},"950":{"$value":"#3A2E1F","$description":"Stone 950 — near-black warm tone; dark-mode subtle accent surface."},"$description":"Warm stone/brown palette for Concrete Creations brand accent ramp. PLACEHOLDER values pending final brand identity work."},"projectBrand":{"microsoftGameDev":{"100":{"$value":"#E5E5FC","$description":"Light support tone for the Microsoft Game Dev project brand."},"500":{"$value":"#6d31fb","$description":"Primary accent tone for the Microsoft Game Dev project brand."},"900":{"$value":"oklch(0.22 0.16 304)","$description":"Dark support tone for the Microsoft Game Dev project brand."},"$description":"Project-specific brand colors used in portfolio contexts."},"$description":"Project-specific brand color families reserved for portfolio surfaces."}},"space":{"0":{"$value":{"value":0,"unit":"px"}},"1":{"$value":{"value":4,"unit":"px"}},"2":{"$value":{"value":8,"unit":"px"}},"3":{"$value":{"value":12,"unit":"px"}},"4":{"$value":{"value":16,"unit":"px"}},"5":{"$value":{"value":20,"unit":"px"}},"6":{"$value":{"value":24,"unit":"px"}},"7":{"$value":{"value":28,"unit":"px"}},"8":{"$value":{"value":32,"unit":"px"}},"10":{"$value":{"value":40,"unit":"px"}},"12":{"$value":{"value":48,"unit":"px"}},"16":{"$value":{"value":64,"unit":"px"}},"20":{"$value":{"value":80,"unit":"px"}},"24":{"$value":{"value":96,"unit":"px"}},"32":{"$value":{"value":128,"unit":"px"}},"$type":"dimension","$description":"Dimensional increments within the 4px base-unit spatial system.","px1":{"$value":{"value":1,"unit":"px"}},"px2":{"$value":{"value":2,"unit":"px"}},"px6":{"$value":{"value":6,"unit":"px"}},"px10":{"$value":{"value":10,"unit":"px"}}},"blur":{"8":{"$value":{"value":8,"unit":"px"},"$description":"8px blur step."},"16":{"$value":{"value":16,"unit":"px"},"$description":"Fullscreen backdrop blur for portfolio lightbox overlays."},"$type":"dimension","$description":"Backdrop blur strengths for frosted overlays and fullscreen media treatments."},"radius":{"0":{"$value":{"value":0,"unit":"px"}},"2":{"$value":{"value":2,"unit":"px"}},"4":{"$value":{"value":4,"unit":"px"}},"8":{"$value":{"value":8,"unit":"px"}},"12":{"$value":{"value":12,"unit":"px"}},"$type":"dimension","full":{"$value":{"value":9999,"unit":"px"}}},"typography":{"family":{"$type":"fontFamily","primary":{"$value":["Plus Jakarta Sans","system-ui","-apple-system","BlinkMacSystemFont","Segoe UI","sans-serif"],"$description":"Self-hosted Plus Jakarta Sans (OFL) body typeface; falls back to system-ui sans-serif stack."},"display":{"$value":["Plus Jakarta Sans","system-ui","-apple-system","BlinkMacSystemFont","Segoe UI","sans-serif"],"$description":"Display face: Plus Jakarta Sans Bold (OFL), bound to the display and title composites."},"mono":{"$value":["IBM Plex Mono","Courier New","monospace"],"$description":"Monospace face: IBM Plex Mono. Falls back to Courier New, monospace."}},"size":{"$type":"dimension","xs":{"$value":{"value":12,"unit":"px"},"$description":"Tailwind 4 default text-xs (hds#283 ramp)."},"sm":{"$value":{"value":14,"unit":"px"},"$description":"Tailwind 4 default text-sm (hds#283 ramp)."},"base":{"$value":{"value":16,"unit":"px"},"$description":"Tailwind 4 default text-base (hds#283 ramp)."},"lg":{"$value":{"value":18,"unit":"px"},"$description":"Tailwind 4 default text-lg (hds#283 ramp)."},"xl":{"$value":{"value":20,"unit":"px"},"$description":"Tailwind 4 default text-xl (hds#283 ramp)."},"2xl":{"$value":{"value":24,"unit":"px"},"$description":"Tailwind 4 default text-2xl (hds#283 ramp)."},"3xl":{"$value":{"value":30,"unit":"px"},"$description":"Tailwind 4 default text-3xl (hds#283 ramp)."},"4xl":{"$value":{"value":36,"unit":"px"},"$description":"Tailwind 4 default text-4xl (hds#283 ramp)."},"5xl":{"$value":{"value":48,"unit":"px"},"$description":"Tailwind 4 default text-5xl (hds#283 ramp)."},"6xl":{"$value":{"value":60,"unit":"px"},"$description":"Swiss-canon display size (hds#283 ramp). Static desktop value; fluid in theme.css. Tailwind 4 default text-6xl."},"code":{"$value":{"value":13,"unit":"px"},"$description":"13px code size. The mono role (hds#485): one px below ui so code sits level with 14px prose."}},"weight":{"$type":"fontWeight","regular":{"$value":400},"medium":{"$value":500},"bold":{"$value":700}},"lineHeight":{"$type":"number","compact":{"$value":0.95},"none":{"$value":1},"tight":{"$value":1.25},"snug":{"$value":1.375,"$description":"Swiss-canon snug rhythm (10t-5). Used by h2/h3 composites for tight-but-readable heading lines."},"normal":{"$value":1.5},"relaxed":{"$value":1.625,"$description":"Swiss-canon relaxed rhythm (10t-5). Used by body/small/mono composites for long-form prose comfort."},"display":{"$value":1.05,"$description":"Display role leading (hds#485)."},"body":{"$value":1.6,"$description":"Body role leading (hds#485)."}},"letterSpacing":{"$type":"dimension","tight":{"$value":{"value":-0.01,"unit":"em"}},"normal":{"$value":{"value":0,"unit":"em"}},"caps":{"$value":{"value":0.06,"unit":"em"},"$description":"All-caps tracking for eyebrow / kicker labels. Always pairs with text-transform: uppercase."}}},"duration":{"$type":"duration","instant":{"$value":{"value":100,"unit":"ms"},"$description":"Fixed elapsed time interval in milliseconds."},"short":{"$value":{"value":150,"unit":"ms"},"$description":"Fixed elapsed time interval in milliseconds."},"medium":{"$value":{"value":250,"unit":"ms"},"$description":"Fixed elapsed time interval in milliseconds."},"long":{"$value":{"value":400,"unit":"ms"},"$description":"Fixed elapsed time interval in milliseconds."}},"easing":{"$type":"cubicBezier","emphasized":{"$value":[0.4,0,0.2,1],"$description":"Cubic bezier with balanced input and output tangents."},"decelerate":{"$value":[0,0,0.2,1],"$description":"Cubic bezier with steep initial gain and constrained tail velocity."},"accelerate":{"$value":[0.4,0,1,1],"$description":"Cubic bezier with restrained initial gain and steep terminal velocity."},"elastic":{"$value":[0.34,1.56,0.64,1],"$description":"Spring response defined by stiffness, damping, and mass parameters.","$extensions":{"com.hirobius.hds":{"$type":"spring","$value":{"type":"spring","stiffness":300,"damping":20,"mass":1},"bezierSource":"The cubicBezier is easeOutBack (easings.net), chosen as a stand-in for the spring, not fitted to it: both overshoot once, the curve by about 10% and spring(300, 20, 1) by about 11%."}}}},"shadow":{"color":{"$type":"color","$value":"220 13% 18%","$description":"HSL channels for shadow-color alpha compositing. Light: cool neutral; dark: black.","$extensions":{"com.figma.variables":{"modes":{"Light":"220 13% 18%","Dark":"0 0% 0%"}}}}},"breakpoint":{"$description":"Discrete viewport thresholds expressed as dimensions.","xs":{"$type":"dimension","$value":{"value":375,"unit":"px"}},"sm":{"$type":"dimension","$value":{"value":640,"unit":"px"}},"md":{"$type":"dimension","$value":{"value":768,"unit":"px"}},"lg":{"$type":"dimension","$value":{"value":1024,"unit":"px"}},"xl":{"$type":"dimension","$value":{"value":1280,"unit":"px"}}},"size":{"8":{"$type":"dimension","$value":{"value":8,"unit":"px"},"$description":"8px size step."},"10":{"$type":"dimension","$value":{"value":10,"unit":"px"},"$description":"10px size step."},"12":{"$type":"dimension","$value":{"value":12,"unit":"px"},"$description":"12px size step."},"16":{"$type":"dimension","$value":{"value":16,"unit":"px"},"$description":"16px size step."},"20":{"$type":"dimension","$value":{"value":20,"unit":"px"},"$description":"20px size step."},"24":{"$type":"dimension","$value":{"value":24,"unit":"px"},"$description":"24px size step."},"32":{"$type":"dimension","$value":{"value":32,"unit":"px"},"$description":"32px size step."},"40":{"$type":"dimension","$value":{"value":40,"unit":"px"},"$description":"40px size step."},"48":{"$type":"dimension","$value":{"value":48,"unit":"px"},"$description":"48px size step."},"64":{"$type":"dimension","$value":{"value":64,"unit":"px"},"$description":"64px size step."},"80":{"$type":"dimension","$value":{"value":80,"unit":"px"},"$description":"80px size step."},"96":{"$type":"dimension","$value":{"value":96,"unit":"px"},"$description":"96px size step."},"120":{"$type":"dimension","$value":{"value":120,"unit":"px"},"$description":"120px size step. Backs semantic.size.tile."},"$description":"Unaliased dimensional values.","interactive":{"$description":"Interactive control size minimums.","min":{"$type":"dimension","$value":{"value":44,"unit":"px"},"$description":"Minimum interactive hit target size."},"minCompact":{"$type":"dimension","$value":{"value":24,"unit":"px"},"$description":"Compact inline control target minimum, e.g. a chip's remove button: WCAG 2.2 AA (2.5.8), not the 44px AAA floor (2.5.5)."}},"width":{"96":{"$type":"dimension","$value":{"value":96,"unit":"px"},"$description":"96px width step."},"280":{"$type":"dimension","$value":{"value":280,"unit":"px"},"$description":"Docs-shell rail width (hds#280): our own number, not HeroUI's 268px; fits the longest top-level nav label with room."},"760":{"$type":"dimension","$value":{"value":760,"unit":"px"}},"1200":{"$type":"dimension","$value":{"value":1200,"unit":"px"}},"50ch":{"$type":"dimension","$value":{"value":50,"unit":"ch"}}}},"grid":{"columns":{"1":{"$type":"number","$value":1},"2":{"$type":"number","$value":2},"3":{"$type":"number","$value":3}}},"zIndex":{"0":{"$type":"number","$value":0},"10":{"$type":"number","$value":10},"100":{"$type":"number","$value":100},"1000":{"$type":"number","$value":1000},"$description":"Discrete stacking levels along the z axis."},"borderWidth":{"$type":"dimension","xs":{"$value":{"value":1,"unit":"px"}},"sm":{"$value":{"value":2,"unit":"px"}},"md":{"$value":{"value":4,"unit":"px"}}}}`), oa = /* @__PURE__ */ JSON.parse(`{"motion":{"$type":"transition","$extensions":{"com.hirobius.hds":{"$type":"motion"}},"productive":{"$value":{"duration":"{primitive.duration.short}","delay":{"value":0,"unit":"ms"},"timingFunction":"{primitive.easing.decelerate}"},"$description":"For micro-interactions and status changes. No deformation."},"expressive":{"$value":{"duration":"{primitive.duration.medium}","delay":{"value":0,"unit":"ms"},"timingFunction":"{primitive.easing.elastic}"},"$description":"For teaching moments and significant UI entries. Includes physics-based squish."},"spatial":{"$value":{"duration":"{primitive.duration.long}","delay":{"value":0,"unit":"ms"},"timingFunction":"{primitive.easing.emphasized}"},"$description":"For elements traveling long distances across the viewport."},"exit":{"$value":{"duration":"{primitive.duration.instant}","delay":{"value":0,"unit":"ms"},"timingFunction":"{primitive.easing.accelerate}"},"$description":"For elements being removed from the DOM."},"distance":{"$type":"dimension","$value":"{primitive.space.6}","$description":"Scroll-reveal translateY travel distance. Equals semantic.space.scale.md today, but names motion travel, not a spacing tier (hds#242)."}},"color":{"$type":"color","surface":{"page":{"$value":"{primitive.color.neutral.white}","$description":"Main page background","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.white}","Dark":"{primitive.color.neutral.black}"}}}},"raised":{"$value":"{primitive.color.neutral.50}","$description":"Subtle elevated surface (cards, sections)","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.50}","Dark":"{primitive.color.neutral.950}"}}}},"overlay":{"$value":"{primitive.color.neutral.100}","$description":"Deeper surface layer","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.850}"}}}},"scrim":{"$value":"{primitive.color.neutral.900}","$description":"Opaque modal backdrop, near-black in both themes. Apply alpha in the class (bg-scrim/60), not here.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.900}","Dark":"{primitive.color.neutral.black}"}}}},"inverse":{"$value":"{primitive.color.neutral.black}","$description":"Inverted background for contrast sections","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.black}","Dark":"{primitive.color.neutral.white}"}}}},"accent":{"$value":"{primitive.color.apple.500}","$description":"Accent-colored background — bright apple green (stays green on dark surfaces; pair with content.onAccent dark text).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.500}","Dark":"{primitive.color.apple.400}"}}}},"accentSubtle":{"$value":"{primitive.color.apple.50}","$description":"Faint accent tint for hover states or highlights","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.50}","Dark":"{primitive.color.apple.900}"}}}},"hover":{"$value":"{primitive.color.neutral.100}","$description":"Background for a hovered interactive surface (menu items, chips, tertiary buttons).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.900}"}}}},"pressed":{"$value":"{primitive.color.neutral.50}","$description":"Background for an actively pressed interactive surface.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.50}","Dark":"{primitive.color.neutral.950}"}}}},"selected":{"$value":"{primitive.color.neutral.200}","$description":"Background for a persistently selected item (active tab, checked row).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.200}","Dark":"{primitive.color.neutral.800}"}}}},"muted":{"$value":"{primitive.color.neutral.100}","$description":"Muted background for low-emphasis content blocks.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.900}"}}}},"sunken":{"$value":"{primitive.color.neutral.200}","$description":"Recessed background for inset wells (inputs, code blocks, nested panels).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.200}","Dark":"{primitive.color.neutral.850}"}}}}},"content":{"primary":{"$value":"{primitive.color.neutral.900}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.900}","Dark":"{primitive.color.neutral.100}"}}}},"secondary":{"$value":"{primitive.color.neutral.600}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.600}","Dark":"{primitive.color.neutral.400}"}}}},"disabled":{"$value":"{primitive.color.neutral.300}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.300}","Dark":"{primitive.color.neutral.600}"}}}},"inverse":{"$value":"{primitive.color.neutral.100}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.900}"}}}},"accent":{"$value":"{primitive.color.apple.700}","$description":"Accent-intent text/icon color — a dark apple green legible on page and card surfaces. Pair with underline/weight for link affordance.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.700}","Dark":"{primitive.color.apple.400}"}}}},"onAccent":{"$value":"{primitive.color.neutral.900}","$description":"Text/icon color on accent fills — a dark neutral, since the brand accent fill is a bright apple green in both light and dark mode.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.900}","Dark":"{primitive.color.neutral.900}"}}}},"success":{"$value":"{primitive.color.green.700}","$description":"Success-toned text/icon color, independent of feedback banners.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.green.700}","Dark":"{primitive.color.green.400}"}}}},"warning":{"$value":"{primitive.color.amber.800}","$description":"Warning-toned text/icon color, independent of feedback banners.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.amber.800}","Dark":"{primitive.color.amber.400}"}}}},"danger":{"$value":"{primitive.color.red.700}","$description":"Danger-toned text/icon color, independent of feedback banners.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.red.700}","Dark":"{primitive.color.red.400}"}}}}},"border":{"default":{"$value":"{primitive.color.neutral.200}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.200}","Dark":"{primitive.color.neutral.700}"}}}},"interactive":{"$value":"{primitive.color.neutral.500}","$description":"Border for interactive control boundaries (inputs, selects, secondary buttons); meets the WCAG 1.4.11 3:1 non-text contrast floor.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.500}","Dark":"{primitive.color.neutral.500}"}}}},"subdued":{"$value":"{primitive.color.neutral.200}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.200}","Dark":"{primitive.color.neutral.800}"}}}},"subtle":{"$value":"{primitive.color.neutral.100}","$description":"Lowest-contrast border for resting hairline edges on flat surfaces.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.850}"}}}},"strong":{"$value":"{primitive.color.neutral.300}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.300}","Dark":"{primitive.color.neutral.600}"}}}},"accent":{"$value":"{primitive.color.apple.600}","$description":"Accent border — apple green, dark enough to read as a boundary on page and card surfaces.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.600}","Dark":"{primitive.color.apple.400}"}}}},"success":{"$value":"{primitive.color.green.400}","$description":"Success-toned border for status outlines and success-state inputs.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.green.400}","Dark":"{primitive.color.green.400}"}}}},"warning":{"$value":"{primitive.color.amber.400}","$description":"Warning-toned border for status outlines and warning-state inputs.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.amber.400}","Dark":"{primitive.color.amber.400}"}}}}},"feedback":{"error":{"$type":"color","$value":"{primitive.color.red.700}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.red.700}","Dark":"{primitive.color.red.400}"}}}},"success":{"$type":"color","$value":"{primitive.color.green.700}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.green.700}","Dark":"{primitive.color.green.400}"}}}},"warning":{"$type":"color","$value":"{primitive.color.amber.800}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.amber.800}","Dark":"{primitive.color.amber.400}"}}}},"info":{"$type":"color","$value":"{primitive.color.blue.500}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.blue.500}","Dark":"{primitive.color.blue.300}"}}}},"inProgress":{"$type":"color","$value":"{primitive.color.violet.700}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.violet.700}","Dark":"{primitive.color.violet.400}"}}}},"bg":{"error":{"$type":"color","$value":"{primitive.color.red.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.red.50}","Dark":"{primitive.color.red.950}"}}}},"success":{"$type":"color","$value":"{primitive.color.green.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.green.50}","Dark":"{primitive.color.green.950}"}}}},"warning":{"$type":"color","$value":"{primitive.color.amber.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.amber.50}","Dark":"{primitive.color.amber.950}"}}}},"info":{"$type":"color","$value":"{primitive.color.blue.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.blue.50}","Dark":"{primitive.color.blue.900}"}}}},"inProgress":{"$type":"color","$value":"{primitive.color.violet.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.violet.50}","Dark":"{primitive.color.violet.950}"}}}}}},"state":{"pressed":{"overlay":{"$value":"{primitive.color.neutral.black}","$description":"Opaque pressed wash over a control's own fill: black in light, white in dark. Alpha in the class (inset-shadow-pressed-overlay/5).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.black}","Dark":"{primitive.color.neutral.white}"}}}}}}},"space":{"$type":"dimension","$description":"Semantic spacing tiers: subgrid, component, layout, section, scale.","scale":{"$description":"hds#206: the canonical spacing vocabulary, one monotonic t-shirt scale (xs to xl) for padding, margin and gap. Supersedes deprecated names.","xs":{"$value":"{primitive.space.2}","$description":"8px — smallest step. Same value as component.gap (deprecated alias)."},"sm":{"$value":"{primitive.space.4}","$description":"16px — same value as layout.tight (deprecated alias)."},"md":{"$value":"{primitive.space.6}","$description":"24px. Default of the overridable roles surface.padding and region.gutter. The deprecated layout.normal has the same value."},"lg":{"$value":"{primitive.space.8}","$description":"32px — same value as layout.inset (deprecated alias)."},"xl":{"$value":"{primitive.space.12}","$description":"48px — same value as layout.spacious (deprecated alias)."}},"surface":{"$description":"hds#206 surface inset role. Tenants override it per brand and density, always with a scale step.","padding":{"$value":"{semantic.space.scale.md}","$description":"24px (scale.md) inset for cards, forms and panels. Tenants override it per brand and density. Replaces component.padding."}},"region":{"$description":"hds#206 region gutter role. theme.css retunes it per viewport, always with a scale step.","gutter":{"$value":"{semantic.space.scale.md}","$description":"24px (scale.md) column and region gutters; theme.css sets scale.lg (32px), and scale.sm (16px) below 640px. Replaces layout.gutter."}},"subgrid":{"hairline":{"$value":"{primitive.space.px1}","$description":"1px border offset and hairline spacing."},"xs":{"$value":"{primitive.space.px2}","$description":"2px vertical rhythm nudge and baseline adjustment."},"gap":{"$value":"{primitive.space.1}","$description":"4px cap-height and inline cluster spacing."}},"component":{"gap":{"$value":"{primitive.space.2}","$description":"8px label↔input rhythm and closely coupled control spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.xs; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.xs"},"medium":{"$value":"{primitive.space.3}","$description":"12px adjacent form fields and medium intra-component gaps."},"padding":{"$value":"{semantic.space.surface.padding}","$description":"24px inset for cards, forms and panels. DEPRECATED alias (hds#206) — use semantic.space.surface.padding; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.surface.padding"}},"layout":{"tight":{"$value":"{primitive.space.4}","$description":"16px default HdsStack gap and inter-component spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.sm; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.sm"},"normal":{"$value":"{primitive.space.6}","$description":"24px column gutters and sidebar gutter spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.md; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.md"},"gutter":{"$value":"{semantic.space.region.gutter}","$description":"24px column and region gutters. DEPRECATED alias (hds#206) — use semantic.space.region.gutter (responsive in theme.css); kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.region.gutter"},"inset":{"$value":"{primitive.space.8}","$description":"32px major block separation and inset inter-component gaps. DEPRECATED alias (hds#206) — use semantic.space.scale.lg; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.lg"},"spacious":{"$value":"{primitive.space.12}","$description":"48px break between major content blocks. DEPRECATED alias (hds#206) — use semantic.space.scale.xl; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.xl"}},"section":{"stack":{"$value":"{primitive.space.20}","$description":"80px vertical rhythm between page sections and major editorial blocks."},"inset":{"$value":"{primitive.space.24}","$description":"96px hero and landing-page inset padding."},"heroMax":{"$value":"{primitive.space.32}","$description":"128px maximum hero region padding for extra-large displays."}},"sidebar":{"indent":{"$value":"{primitive.space.3}","$description":"12px indent level for nested sidebar and TOC groups."},"gap":{"$value":"{primitive.space.4}","$description":"16px vertical spacing between items in sidebar and TOC stacks."},"sectionGap":{"$value":"{primitive.space.3}","$description":"12px spacing between sidebar sections and grouped rail blocks."},"railPadding":{"$value":"{primitive.space.5}","$description":"20px outer padding for sidebar and TOC rails."},"railWidth":{"$type":"dimension","$value":"{primitive.size.width.280}","$description":"Docs-shell nav and TOC rail width (hds#280), one token for both rails; 0 below their breakpoint (see HdsDocsShell)."}}},"layout":{"width":{"content":{"$type":"dimension","$value":"{primitive.size.width.760}","$description":"Max width for prose/content (760px). Use with HdsContainer for centered text blocks."},"max":{"$type":"dimension","$value":"{primitive.size.width.1200}","$description":"Max width for full-layout containers (1200px). Use with HdsContainer for page layouts."}},"container":{"maxWidth":{"$type":"dimension","$value":"{primitive.size.width.1200}"}},"content":{"maxWidth":{"$type":"dimension","$value":"{primitive.size.width.760}"}},"prose":{"maxWidth":{"$type":"dimension","$value":"{primitive.size.width.50ch}"}},"section":{"paddingY":{"$type":"dimension","$value":"{primitive.space.20}"}},"grid":{"gap":{"$type":"dimension","$value":"{primitive.space.8}"},"columns":{"mobile":{"$type":"number","$value":"{primitive.grid.columns.1}"},"tablet":{"$type":"number","$value":"{primitive.grid.columns.2}"},"desktop":{"$type":"number","$value":"{primitive.grid.columns.3}"}}}},"typography":{"$type":"typography","$description":"5-role type ramp plus mono (hds#483): display, title, body, ui, caption, mono. h1, h2, h3 and eyebrow are deprecated aliases.","display":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.5xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.display}"},"$description":"One per page, hero only. 48px / 1.05 / 700. Role 1 of 6."},"title":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.2xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.tight}"},"$description":"Section and card headings. 24px / 1.25 / 700. Role 2 of 6."},"body":{"$value":{"fontFamily":"{primitive.typography.family.primary}","fontSize":"{primitive.typography.size.base}","fontWeight":"{primitive.typography.weight.regular}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.body}","maxWidth":{"value":60,"unit":"ch"}},"$description":"Prose. 16px / 1.6 / 400, 60ch measure. Role 3 of 6."},"ui":{"$value":{"fontFamily":"{primitive.typography.family.primary}","fontSize":"{primitive.typography.size.sm}","fontWeight":"{primitive.typography.weight.medium}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.normal}","maxWidth":{"value":60,"unit":"ch"}},"$description":"Controls, nav, table text, values. 14px / 1.5 / 500. Role 4 of 6."},"caption":{"$value":{"fontFamily":"{primitive.typography.family.primary}","fontSize":"{primitive.typography.size.xs}","fontWeight":"{primitive.typography.weight.medium}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.normal}"},"$description":"Metadata, help text and labels, in sentence case. 12px / 1.5 / 500. Role 5 of 6."},"mono":{"$value":{"fontFamily":"{primitive.typography.family.mono}","fontSize":"{primitive.typography.size.code}","fontWeight":"{primitive.typography.weight.regular}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.normal}","maxWidth":{"value":60,"unit":"ch"}},"$description":"Code and ids. 13px / 1.5 / 400. The mono companion, role 6 of 6."},"h1":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.2xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.tight}"},"$description":"deprecated: use semantic.typography.title","$deprecated":"hds#483 — use semantic.typography.title"},"h2":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.2xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.tight}"},"$description":"deprecated: use semantic.typography.title","$deprecated":"hds#483 — use semantic.typography.title"},"h3":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.2xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.tight}"},"$description":"deprecated: use semantic.typography.title","$deprecated":"hds#483 — use semantic.typography.title"},"eyebrow":{"$value":{"fontFamily":"{primitive.typography.family.primary}","fontSize":"{primitive.typography.size.xs}","fontWeight":"{primitive.typography.weight.medium}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.normal}"},"$description":"deprecated: use semantic.typography.caption","$deprecated":"hds#483 — use semantic.typography.caption"},"lineHeight":{"none":{"$type":"number","$value":"{primitive.typography.lineHeight.none}","$description":"Semantic alias for leading-none (1). Display text and badge spans."}}},"docs":{"$description":"Doc-page spacing scale: section, paragraph, inline rhythm.","space":{"$type":"dimension","section":{"$value":"{primitive.space.12}","$description":"48px between H2 sections — generous section break for doc pages."},"paragraph":{"$value":"{primitive.space.6}","$description":"24px between paragraphs — comfortable prose rhythm for long-form doc content."},"inline":{"$value":"{primitive.space.2}","$description":"8px inline cluster spacing — gap between metadata badges, inline icons, doc-page chips."}}},"accent":{"$type":"color","rest":{"$value":"{primitive.color.apple.500}","$description":"Default accent fill for interactive elements at rest — bright apple green. Pair with content.onAccent (a dark neutral).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.500}","Dark":"{primitive.color.apple.400}"}}}},"hover":{"$value":"{primitive.color.apple.600}","$description":"Accent fill on pointer hover.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.600}","Dark":"{primitive.color.apple.500}"}}}},"pressed":{"$value":"{primitive.color.apple.700}","$description":"Accent fill during active press.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.700}","Dark":"{primitive.color.apple.600}"}}}},"inactive":{"$value":"{primitive.color.neutral.400}","$description":"Accent fill for inactive or unselected accent elements.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.400}","Dark":"{primitive.color.neutral.600}"}}}},"disabled":{"$value":"{primitive.color.neutral.300}","$description":"Accent fill for disabled accent elements.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.300}","Dark":"{primitive.color.neutral.700}"}}}},"content":{"$value":"{primitive.color.apple.700}","$description":"Accent-intent text/icon color on neutral surfaces (a dark apple green) — pair with underline/weight for link affordance.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.700}","Dark":"{primitive.color.apple.400}"}}}},"contentHover":{"$value":"{primitive.color.apple.800}","$description":"Accent content color on pointer hover.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.800}","Dark":"{primitive.color.apple.300}"}}}},"subtle":{"$value":"{primitive.color.apple.50}","$description":"Low-emphasis accent tint for hover backgrounds and selection highlights.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.apple.50}","Dark":"{primitive.color.apple.900}"}}}}},"radius":{"action":{"$type":"dimension","$value":"{primitive.radius.8}","$description":"Corner radius for action elements (buttons, inputs, badges); Tailwind rounded-md resolves here. Override role.radius to reshape the system."},"control":{"$type":"dimension","$value":"{primitive.radius.4}","$description":"Corner radius for small control glyphs such as the checkbox box: not fully round, and distinct from semantic.radius.action (hds#242)."}},"borderWidth":{"default":{"$type":"dimension","$value":"{primitive.borderWidth.xs}","$description":"Default hairline border weight for surfaces and inputs."},"emphasis":{"$type":"dimension","$value":"{primitive.borderWidth.sm}","$description":"Stronger border weight for focus rings and active indicators."}},"shadow":{"$type":"shadow","subtle":{"$value":"0 1px 2px hsl(var(--primitive-shadow-color) / 0.04), 0 1px 1px hsl(var(--primitive-shadow-color) / 0.06)","$description":"Resting elevation shadow for raised surfaces (cards, inline panels)."},"floating":{"$value":"0 4px 6px hsl(var(--primitive-shadow-color) / 0.05), 0 10px 15px hsl(var(--primitive-shadow-color) / 0.08)","$description":"Hover/floating elevation for menus, popovers, and tooltips."},"overlay":{"$value":"0 10px 15px hsl(var(--primitive-shadow-color) / 0.08), 0 25px 50px hsl(var(--primitive-shadow-color) / 0.12)","$description":"Modal/dialog elevation for full-screen overlays."}},"elevation":{"$extensions":{"com.hirobius.hds":{"$type":"elevation"}},"flat":{"$description":"Flat surface (no shadow, hairline border) for embedded panels.","$extensions":{"com.hirobius.hds":{"$value":{"surface":"{semantic.color.surface.page}","shadow":null,"border":"{semantic.color.border.subtle}"}}}},"raised":{"$description":"Resting card / panel elevation.","$extensions":{"com.hirobius.hds":{"$value":{"surface":"{semantic.color.surface.raised}","shadow":"{semantic.shadow.subtle}","border":null}}}},"floating":{"$description":"Hover, menu, and popover elevation.","$extensions":{"com.hirobius.hds":{"$value":{"surface":"{semantic.color.surface.raised}","shadow":"{semantic.shadow.floating}","border":null}}}},"overlay":{"$description":"Modal, dialog, and drawer elevation.","$extensions":{"com.hirobius.hds":{"$value":{"surface":"{semantic.color.surface.overlay}","shadow":"{semantic.shadow.overlay}","border":null}}}}},"size":{"$type":"dimension","$description":"Sizing roles for control glyphs, avatars and table rows. Roles sharing a value stay separate so each can change (hds#242).","control":{"$description":"Interactive control glyph/element sizing (checkbox glyph box, radio dot, slider track/fill, code-block copy-button-matched footprint).","sm":{"$value":"{primitive.size.8}","$description":"Small control element — radio dot, slider fill bar height."},"md":{"$value":"{primitive.size.20}","$description":"Medium control element — checkbox glyph box, slider track wrapper height."},"lg":{"$value":"{primitive.size.32}","$description":"Large control footprint — code-block inline-wrapper min-height / copy-button-matched pre padding."}},"icon":{"$description":"Reserved icon-size role, parallel to the existing --hds-icon-* bridge (src/styles/theme.css), for future direct semantic.size.icon consumers.","sm":{"$value":"{primitive.size.16}","$description":"Small icon box — matches --hds-icon-small."},"md":{"$value":"{primitive.size.20}","$description":"Medium icon box — matches --hds-icon-medium."},"lg":{"$value":"{primitive.size.24}","$description":"Large icon box — matches --hds-icon-large."}},"avatar":{"$value":"{primitive.size.40}","$description":"Avatar size (width and height) for activity feeds and identity glyphs. Same pixels as row.compact today, a separate role (hds#242)."},"tile":{"$value":"{primitive.size.120}","$description":"Minimum height of a metric tile, one height for every tile so rows line up (hds#403)."},"row":{"$description":"Table row minimum height by density.","compact":{"$value":"{primitive.size.40}","$description":"Compact-density row minimum height."},"comfortable":{"$value":"{primitive.size.48}","$description":"Comfortable-density row minimum height."}}},"zIndex":{"$type":"number","$description":"Named stacking layers, aliasing the numeric primitive.zIndex scale (hds#242).","control":{"$value":"{primitive.zIndex.10}","$description":"Raises an interactive control (e.g. a native range input) above its visual decoration for hit-testing."},"sticky":{"$value":"{primitive.zIndex.100}","$description":"Sticky-positioned elements, such as a table header row."}}}`), sa = { nav: { bg: { $type: "color", $value: "{semantic.color.surface.page}", $description: "Nav bar background fill." }, bgActive: { $type: "color", $value: "{semantic.accent.subtle}", $description: "Nav item background fill when active or selected." }, borderActive: { $type: "color", $value: "{semantic.color.surface.accent}", $description: "Nav item border color when active or selected." }, text: { $type: "color", $value: "{semantic.color.content.secondary}", $description: "Nav item text color at rest." }, textActive: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Nav item text color when active or selected." }, height: { $type: "dimension", $value: "{primitive.space.16}", $description: "Nav bar height." }, paddingX: { $type: "dimension", $value: "{primitive.space.6}", $description: "Horizontal padding inside nav items." }, paddingY: { $type: "dimension", $value: "{primitive.space.2}", $description: "Vertical padding inside nav items." } }, tag: { background: { $type: "color", $value: "{semantic.accent.subtle}", $description: "Base tag surface color." }, text: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Default tag text color." }, border: { $type: "color", $value: "{semantic.color.border.default}", $description: "Default tag border color." }, radius: { $type: "dimension", $value: "{primitive.radius.full}", $description: "Pill radius for the tag surface." }, fontSize: { $type: "dimension", $value: "{primitive.typography.size.xs}", $description: "Tag type size." }, fontWeight: { $type: "fontWeight", $value: "{primitive.typography.weight.medium}", $description: "Tag label weight." }, lineHeight: { $type: "number", $value: "{primitive.typography.lineHeight.normal}", $description: "Readable label rhythm for tags." }, minWidth: { $type: "dimension", $value: "{primitive.size.48}", $description: "Minimum tag width." }, minHeight: { $type: "dimension", $value: "{primitive.space.6}", $description: "Minimum tag height." }, paddingX: { $type: "dimension", $value: "{primitive.space.3}", $description: "Horizontal padding inside the pill." }, paddingY: { $type: "dimension", $value: "{primitive.space.2}", $description: "Vertical padding inside the pill." }, activeText: { $type: "color", $value: "{semantic.color.content.onAccent}", $description: "Text color when the tag is active." }, activeBackground: { $type: "color", $value: "{semantic.accent.rest}", $description: "Active tag fill color." }, activeBorder: { $type: "color", $value: "{semantic.accent.rest}", $description: "Active tag border color." }, activeHover: { $type: "color", $value: "{semantic.accent.hover}", $description: "Active tag hover fill color." } }, badge: { fontSize: { $type: "dimension", $value: "{primitive.typography.size.xs}", $description: "Badge type size." }, fontWeight: { $type: "fontWeight", $value: "{primitive.typography.weight.medium}", $description: "Badge label weight." }, text: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Badge text color." }, bg: { $type: "color", $value: "{semantic.color.feedback.bg.info}", $extensions: { "com.figma.variables": { modes: { Light: "{semantic.color.feedback.bg.info}", Dark: "{semantic.color.feedback.bg.info}" } } }, $description: "Badge background color." }, radius: { $type: "dimension", $value: "{primitive.radius.4}", $description: "Small rounded radius for badges." }, height: { $type: "dimension", $value: "{primitive.size.20}", $description: "Badge height." }, minWidth: { $type: "dimension", $value: "{primitive.size.20}", $description: "Badge minimum width." }, paddingY: { $type: "dimension", $value: "{primitive.space.px2}", $description: "Vertical padding inside the badge." }, paddingX: { $type: "dimension", $value: "{primitive.space.px6}", $description: "Horizontal padding inside the badge." } }, button: { bg: { $type: "color", $value: "{semantic.color.surface.accent}", $description: "Primary button fill." }, bgHover: { $type: "color", $value: "{semantic.accent.hover}", $description: "Primary button hover fill." }, text: { $type: "color", $value: "{semantic.color.content.onAccent}", $description: "Primary button text color." }, radius: { $type: "dimension", $value: "{semantic.radius.action}", $description: "Button corner radius." }, paddingX: { $type: "dimension", $value: "{primitive.space.4}", $description: "Horizontal button padding." }, paddingY: { $type: "dimension", $value: "{primitive.space.3}", $description: "Vertical button padding." }, size: { sm: { paddingX: { $type: "dimension", $value: "{primitive.space.2}", $description: "Small button horizontal padding (8px)." }, paddingY: { $type: "dimension", $value: "{primitive.space.1}", $description: "Small button vertical padding (4px)." }, fontSize: { $type: "dimension", $value: "{primitive.typography.size.xs}", $description: "Small button label size (12px, hds#283: was 13px)." }, iconSize: { $type: "dimension", $value: "{primitive.size.12}", $description: "Small button icon slot size (12px)." }, height: { $type: "dimension", $value: "{primitive.space.7}", $description: "Small button height (28px)." }, itemSpacing: { $type: "dimension", $value: "{primitive.space.1}", $description: "Small button icon-to-label gap (4px)." } }, md: { paddingX: { $type: "dimension", $value: "{primitive.space.4}", $description: "Medium button horizontal padding (16px)." }, paddingY: { $type: "dimension", $value: "{primitive.space.3}", $description: "Medium button vertical padding (12px)." }, fontSize: { $type: "dimension", $value: "{primitive.typography.size.sm}", $description: "Medium button label size (14px, hds#283: was 15px)." }, iconSize: { $type: "dimension", $value: "{primitive.size.16}", $description: "Medium button icon slot size (16px)." }, height: { $type: "dimension", $value: "{primitive.size.40}", $description: "Medium button height (40px)." }, itemSpacing: { $type: "dimension", $value: "{primitive.space.2}", $description: "Medium button icon-to-label gap (8px)." } }, lg: { paddingX: { $type: "dimension", $value: "{primitive.space.6}", $description: "Large button horizontal padding (24px)." }, paddingY: { $type: "dimension", $value: "{primitive.space.4}", $description: "Large button vertical padding (16px)." }, fontSize: { $type: "dimension", $value: "{primitive.typography.size.base}", $description: "Large button label size (16px, hds#283: was 17px)." }, iconSize: { $type: "dimension", $value: "{primitive.size.20}", $description: "Large button icon slot size (20px)." }, height: { $type: "dimension", $value: "{primitive.size.48}", $description: "Large button height (48px)." }, itemSpacing: { $type: "dimension", $value: "{primitive.space.2}", $description: "Large button icon-to-label gap (8px)." } } }, primary: { textDisabled: { $type: "color", $value: "{semantic.color.content.disabled}", $description: "Disabled primary button text color." }, bgDisabled: { $type: "color", $value: "{semantic.color.surface.muted}", $description: "Disabled primary button fill." } }, secondary: { bg: { rest: { $type: "color", $value: "{semantic.color.surface.page}", $description: "Secondary button fill." }, hover: { $type: "color", $value: "{semantic.color.surface.raised}", $description: "Secondary button hover fill." }, pressed: { $type: "color", $value: "{semantic.color.surface.overlay}", $description: "Secondary button pressed fill." } }, border: { rest: { $type: "color", $value: "{semantic.color.border.interactive}", $description: "Secondary button border." }, hover: { $type: "color", $value: "{semantic.color.border.interactive}", $description: "Secondary button hover border." }, pressed: { $type: "color", $value: "{semantic.color.border.interactive}", $description: "Secondary button pressed border." }, disabled: { $type: "color", $value: "{semantic.color.border.subdued}", $description: "Secondary button disabled border." } }, text: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Secondary button text color." } } }, input: { bg: { $type: "color", $value: "{semantic.color.surface.raised}" }, text: { $type: "color", $value: "{semantic.color.content.primary}" }, border: { $type: "color", $value: "{semantic.color.border.interactive}" }, borderError: { $type: "color", $value: "{semantic.color.feedback.error}" }, radius: { $type: "dimension", $value: "{semantic.radius.action}" }, paddingX: { $type: "dimension", $value: "{primitive.space.4}" }, paddingY: { $type: "dimension", $value: "{primitive.space.3}" } }, card: { bg: { $type: "color", $value: "{semantic.color.surface.raised}" }, border: { $type: "color", $value: "{semantic.color.border.default}" }, radius: { $type: "dimension", $value: "{primitive.radius.8}" }, padding: { $type: "dimension", $value: "{primitive.space.6}" }, gap: { $type: "dimension", $value: "{primitive.space.2}" } }, lightbox: { backdrop: { blur: { $type: "dimension", $value: "{primitive.blur.16}", $description: "Backdrop blur applied behind fullscreen image lightboxes." } } } }, la = { $description: "Shadcn-style role aliases mapping to semantic tokens. Compiled to --role-* CSS vars.", background: { $type: "color", $value: "{semantic.color.surface.page}", $description: "Page background. shadcn role: background." }, foreground: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Default text on background. shadcn role: foreground." }, card: { $type: "color", $value: "{semantic.color.surface.raised}", $description: "Card surface. shadcn role: card." }, "card-foreground": { $type: "color", $value: "{semantic.color.content.primary}", $description: "Text on card. shadcn role: card-foreground." }, popover: { $type: "color", $value: "{semantic.color.surface.overlay}", $description: "Popover/menu surface. shadcn role: popover." }, scrim: { $type: "color", $value: "{semantic.color.surface.scrim}", $description: "Modal backdrop colour role. Apply alpha in the class, e.g. bg-scrim/60." }, "pressed-overlay": { $type: "color", $value: "{semantic.color.state.pressed.overlay}", $description: "Pressed-state overlay colour role. Apply alpha in the class, e.g. inset-shadow-pressed-overlay/5." }, "popover-foreground": { $type: "color", $value: "{semantic.color.content.primary}", $description: "Text on popover. shadcn role: popover-foreground." }, primary: { $type: "color", $value: "{semantic.color.surface.accent}", $description: "Primary action surface. shadcn role: primary." }, "primary-foreground": { $type: "color", $value: "{semantic.color.content.onAccent}", $description: "Text/icons on primary surface. shadcn role: primary-foreground." }, secondary: { $type: "color", $value: "{semantic.color.surface.raised}", $description: "Secondary action surface. shadcn role: secondary." }, "secondary-foreground": { $type: "color", $value: "{semantic.color.content.primary}", $description: "Text on secondary surface. shadcn role: secondary-foreground." }, muted: { $type: "color", $value: "{semantic.color.surface.overlay}", $description: "Muted/quiet bg (skeletons, disabled inputs). shadcn role: muted." }, "muted-foreground": { $type: "color", $value: "{semantic.color.content.secondary}", $description: "Muted text. shadcn role: muted-foreground." }, accent: { $type: "color", $value: "{semantic.color.surface.accentSubtle}", $description: "Hover/active tinted bg. shadcn role: accent." }, "accent-foreground": { $type: "color", $value: "{semantic.color.content.accent}", $description: "Text on accent surface. shadcn role: accent-foreground." }, destructive: { $type: "color", $value: "{semantic.color.feedback.error}", $description: "Destructive action surface. shadcn role: destructive." }, "destructive-foreground": { $type: "color", $value: "{semantic.color.content.inverse}", $description: "Text on destructive surface. shadcn role: destructive-foreground." }, border: { $type: "color", $value: "{semantic.color.border.default}", $description: "Default border. shadcn role: border." }, input: { $type: "color", $value: "{semantic.color.border.interactive}", $description: "Input field border. shadcn role: input." }, ring: { $type: "color", $value: "{semantic.color.border.accent}", $description: "Focus ring color. shadcn role: ring." }, radius: { $type: "dimension", $value: "{semantic.radius.action}", $description: "Default border radius. shadcn role: radius." } }, ca = {
3147
+ const aa = "https://www.designtokens.org/schemas/2025.10/format.json", ra = "Adrian Milsap hirobius design tokens - W3C DTCG 2025.10 compliant, Figma SDS architecture", na = /* @__PURE__ */ JSON.parse(`{"$description":"Base values used as inputs to derived token layers.","color":{"$type":"color","neutral":{"50":{"$value":"#fafafa","$description":"Specific value within the neutral range at a defined lightness step."},"100":{"$value":"#f5f5f5","$description":"Specific value within the neutral range at a defined lightness step."},"200":{"$value":"#e5e5e5","$description":"Specific value within the neutral range at a defined lightness step."},"300":{"$value":"#d4d4d4","$description":"Specific value within the neutral range at a defined lightness step."},"400":{"$value":"#a3a3a3","$description":"Specific value within the neutral range at a defined lightness step."},"500":{"$value":"#737373","$description":"Specific value within the neutral range at a defined lightness step."},"600":{"$value":"#525252","$description":"Specific value within the neutral range at a defined lightness step."},"700":{"$value":"#404040","$description":"Specific value within the neutral range at a defined lightness step."},"800":{"$value":"#262626","$description":"Specific value within the neutral range at a defined lightness step."},"850":{"$value":"#1a1a1a","$description":"Specific value within the neutral range at a defined lightness step."},"900":{"$value":"#111111","$description":"Specific value within the neutral range at a defined lightness step."},"950":{"$value":"#0a0a0a","$description":"Specific value within the neutral range at a defined lightness step."},"$description":"Discrete values within the neutral range at defined lightness steps.","white":{"$value":"#ffffff","$description":"Specific value within the neutral range at a defined lightness step."},"black":{"$value":"#000000","$description":"Specific value within the neutral range at a defined lightness step."}},"blue":{"50":{"$value":"oklch(0.96 0.03 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"100":{"$value":"oklch(0.92 0.04 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"200":{"$value":"oklch(0.88 0.07 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"300":{"$value":"oklch(0.70 0.2903 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"400":{"$value":"oklch(0.65 0.2903 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"450":{"$value":"oklch(0.56 0.29 266.60)","$description":"Specific value within the blue range at a defined lightness step."},"500":{"$value":"#1E2EFD","$description":"Specific value within the blue range at a defined lightness step."},"600":{"$value":"oklch(0.45 0.2903 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"700":{"$value":"oklch(0.44 0.2903 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"800":{"$value":"oklch(0.30 0.07 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"900":{"$value":"oklch(0.22 0.05 266.54)","$description":"Specific value within the blue range at a defined lightness step."},"$description":"Discrete values within the blue range at defined lightness steps."},"red":{"50":{"$value":"#fef2f2","$description":"Specific value within the red range at a defined lightness step."},"400":{"$value":"#f87171","$description":"Specific value within the red range at a defined lightness step."},"700":{"$value":"#b91c1c","$description":"Specific value within the red range at a defined lightness step."},"950":{"$value":"#450a0a","$description":"Specific value within the red range at a defined lightness step."},"$description":"Discrete values within the red range at defined lightness steps."},"green":{"50":{"$value":"#ecfdf5","$description":"Specific value within the green range at a defined lightness step."},"400":{"$value":"#34d399","$description":"Specific value within the green range at a defined lightness step."},"700":{"$value":"#047857","$description":"Specific value within the green range at a defined lightness step."},"950":{"$value":"#022c22","$description":"Specific value within the green range at a defined lightness step."},"$description":"Discrete values within the green range at defined lightness steps."},"graphite":{"50":{"$value":"#f5f4f4","$description":"Graphite accent tint — faintest step."},"100":{"$value":"#e9e7e8","$description":"Graphite accent — very light warm tint."},"200":{"$value":"#d4d0d2","$description":"Graphite accent — light warm-grey; dark-mode rest accent fill."},"300":{"$value":"#b2abae","$description":"Graphite accent — soft mid-light step; dark-mode hover/link."},"400":{"$value":"#8b8488","$description":"Graphite accent — mid warm-grey step."},"500":{"$value":"#655e62","$description":"Graphite accent — mid step."},"600":{"$value":"#544d51","$description":"Graphite accent — mid-dark step."},"700":{"$value":"#433a3f","$description":"Graphite accent rest — the warm charcoal brand accent; white text as a fill (AA)."},"800":{"$value":"#352e32","$description":"Graphite accent — deep step; light-mode hover."},"900":{"$value":"#2a2428","$description":"Graphite accent — darkest usable step; light-mode pressed, dark-mode on-accent text."},"950":{"$value":"#19161a","$description":"Graphite accent — near-black warm substrate."},"$description":"Graphite, the warm-charcoal brand accent scale. Feedback colors keep their own scales."},"mauve":{"50":{"$value":"#fff0f6","$description":"Mauve tint, faintest step."},"100":{"$value":"#f4e2ea","$description":"Mauve step 100, lightness-matched to graphite 100."},"200":{"$value":"#e1cad4","$description":"Mauve step 200, lightness-matched to graphite 200."},"300":{"$value":"#c0a4b1","$description":"Mauve step 300, lightness-matched to graphite 300."},"400":{"$value":"#9d7b8a","$description":"Mauve step 400, lightness-matched to graphite 400."},"500":{"$value":"#734b5e","$description":"Mauve anchor (#734B5E). Reserved; not mapped to any semantic token yet."},"600":{"$value":"#674254","$description":"Mauve step 600, lightness-matched to graphite 600."},"700":{"$value":"#523141","$description":"Mauve step 700, lightness-matched to graphite 700."},"800":{"$value":"#432634","$description":"Mauve step 800, lightness-matched to graphite 800."},"900":{"$value":"#361d29","$description":"Mauve step 900, lightness-matched to graphite 900."},"950":{"$value":"#240f1a","$description":"Mauve, near-black substrate."},"$description":"Mauve, a reserved secondary scale lightness-matched to graphite. Defined for exploration; no semantic token uses it yet."},"violet":{"50":{"$value":"#f5f3ff","$description":"Specific value within the violet range at a defined lightness step."},"400":{"$value":"#a78bfa","$description":"Specific value within the violet range at a defined lightness step."},"700":{"$value":"#6d28d9","$description":"Specific value within the violet range at a defined lightness step."},"950":{"$value":"#2e1065","$description":"Specific value within the violet range at a defined lightness step."},"$description":"Discrete values within the violet range at defined lightness steps."},"lilac":{"50":{"$value":"#f7f4fe","$description":"Specific value within the lilac range at a defined lightness step."},"100":{"$value":"#efe9fd","$description":"Specific value within the lilac range at a defined lightness step."},"200":{"$value":"#ddd0fb","$description":"Specific value within the lilac range at a defined lightness step."},"300":{"$value":"#c3aef6","$description":"Specific value within the lilac range at a defined lightness step."},"400":{"$value":"#a585ee","$description":"Specific value within the lilac range at a defined lightness step."},"450":{"$value":"#9a6fe8","$description":"Specific value within the lilac range at a defined lightness step."},"500":{"$value":"#6f3fd4","$description":"Lilac accent rest — AA for white text on page and card surfaces."},"600":{"$value":"#5f33c0","$description":"Specific value within the lilac range at a defined lightness step."},"700":{"$value":"#4f2aa3","$description":"Specific value within the lilac range at a defined lightness step."},"800":{"$value":"#3a1f78","$description":"Specific value within the lilac range at a defined lightness step."},"900":{"$value":"#2a1659","$description":"Specific value within the lilac range at a defined lightness step."},"$description":"Lilac ramp at fixed lightness steps. Mirrors the blue ramp's stops; available to brand overlays."},"amber":{"50":{"$value":"#fffbeb","$description":"Specific value within the amber range at a defined lightness step."},"400":{"$value":"#fbbf24","$description":"Specific value within the amber range at a defined lightness step."},"800":{"$value":"#92400e","$description":"Specific value within the amber range at a defined lightness step."},"950":{"$value":"#451a03","$description":"Specific value within the amber range at a defined lightness step."},"$description":"Discrete values within the amber range at defined lightness steps."},"stone":{"100":{"$value":"#F5EFE7","$description":"Stone 100 — near-white warm tint; accent-subtle surface."},"400":{"$value":"#D0B492","$description":"Stone 400 — light warm tone; dark-mode pressed accent."},"450":{"$value":"#BC9D7E","$description":"Stone 450 — medium warm tone; dark-mode hover accent."},"500":{"$value":"#A8896A","$description":"Stone 500 — mid warm tone; dark-mode rest accent."},"600":{"$value":"#8B6F47","$description":"Stone 600 — primary warm stone; light-mode rest accent and CTA surface."},"700":{"$value":"#75593A","$description":"Stone 700 — darker warm stone; light-mode hover accent."},"800":{"$value":"#5C432A","$description":"Stone 800 — deep warm stone; light-mode pressed accent."},"950":{"$value":"#3A2E1F","$description":"Stone 950 — near-black warm tone; dark-mode subtle accent surface."},"$description":"Warm stone/brown palette for Concrete Creations brand accent ramp. PLACEHOLDER values pending final brand identity work."},"projectBrand":{"microsoftGameDev":{"100":{"$value":"#E5E5FC","$description":"Light support tone for the Microsoft Game Dev project brand."},"500":{"$value":"#6d31fb","$description":"Primary accent tone for the Microsoft Game Dev project brand."},"900":{"$value":"oklch(0.22 0.16 304)","$description":"Dark support tone for the Microsoft Game Dev project brand."},"$description":"Project-specific brand colors used in portfolio contexts."},"$description":"Project-specific brand color families reserved for portfolio surfaces."}},"space":{"0":{"$value":{"value":0,"unit":"px"}},"1":{"$value":{"value":4,"unit":"px"}},"2":{"$value":{"value":8,"unit":"px"}},"3":{"$value":{"value":12,"unit":"px"}},"4":{"$value":{"value":16,"unit":"px"}},"5":{"$value":{"value":20,"unit":"px"}},"6":{"$value":{"value":24,"unit":"px"}},"7":{"$value":{"value":28,"unit":"px"}},"8":{"$value":{"value":32,"unit":"px"}},"10":{"$value":{"value":40,"unit":"px"}},"12":{"$value":{"value":48,"unit":"px"}},"16":{"$value":{"value":64,"unit":"px"}},"20":{"$value":{"value":80,"unit":"px"}},"24":{"$value":{"value":96,"unit":"px"}},"32":{"$value":{"value":128,"unit":"px"}},"$type":"dimension","$description":"Dimensional increments within the 4px base-unit spatial system.","px1":{"$value":{"value":1,"unit":"px"}},"px2":{"$value":{"value":2,"unit":"px"}},"px6":{"$value":{"value":6,"unit":"px"}},"px10":{"$value":{"value":10,"unit":"px"}}},"blur":{"8":{"$value":{"value":8,"unit":"px"},"$description":"8px blur step."},"16":{"$value":{"value":16,"unit":"px"},"$description":"Fullscreen backdrop blur for portfolio lightbox overlays."},"$type":"dimension","$description":"Backdrop blur strengths for frosted overlays and fullscreen media treatments."},"radius":{"0":{"$value":{"value":0,"unit":"px"}},"2":{"$value":{"value":2,"unit":"px"}},"4":{"$value":{"value":4,"unit":"px"}},"8":{"$value":{"value":8,"unit":"px"}},"12":{"$value":{"value":12,"unit":"px"}},"$type":"dimension","full":{"$value":{"value":9999,"unit":"px"}}},"typography":{"family":{"$type":"fontFamily","primary":{"$value":["Plus Jakarta Sans","system-ui","-apple-system","BlinkMacSystemFont","Segoe UI","sans-serif"],"$description":"Self-hosted Plus Jakarta Sans (OFL) body typeface; falls back to system-ui sans-serif stack."},"display":{"$value":["Plus Jakarta Sans","system-ui","-apple-system","BlinkMacSystemFont","Segoe UI","sans-serif"],"$description":"Display face: Plus Jakarta Sans Bold (OFL), bound to the display and title composites."},"mono":{"$value":["IBM Plex Mono","Courier New","monospace"],"$description":"Monospace face: IBM Plex Mono. Falls back to Courier New, monospace."}},"size":{"$type":"dimension","xs":{"$value":{"value":12,"unit":"px"},"$description":"Tailwind 4 default text-xs (hds#283 ramp)."},"sm":{"$value":{"value":14,"unit":"px"},"$description":"Tailwind 4 default text-sm (hds#283 ramp)."},"base":{"$value":{"value":16,"unit":"px"},"$description":"Tailwind 4 default text-base (hds#283 ramp)."},"lg":{"$value":{"value":18,"unit":"px"},"$description":"Tailwind 4 default text-lg (hds#283 ramp)."},"xl":{"$value":{"value":20,"unit":"px"},"$description":"Tailwind 4 default text-xl (hds#283 ramp)."},"2xl":{"$value":{"value":24,"unit":"px"},"$description":"Tailwind 4 default text-2xl (hds#283 ramp)."},"3xl":{"$value":{"value":30,"unit":"px"},"$description":"Tailwind 4 default text-3xl (hds#283 ramp)."},"4xl":{"$value":{"value":36,"unit":"px"},"$description":"Tailwind 4 default text-4xl (hds#283 ramp)."},"5xl":{"$value":{"value":48,"unit":"px"},"$description":"Tailwind 4 default text-5xl (hds#283 ramp)."},"6xl":{"$value":{"value":60,"unit":"px"},"$description":"Swiss-canon display size (hds#283 ramp). Static desktop value; fluid in theme.css. Tailwind 4 default text-6xl."},"code":{"$value":{"value":13,"unit":"px"},"$description":"13px code size. The mono role (hds#485): one px below ui so code sits level with 14px prose."}},"weight":{"$type":"fontWeight","regular":{"$value":400},"medium":{"$value":500},"bold":{"$value":700}},"lineHeight":{"$type":"number","compact":{"$value":0.95},"none":{"$value":1},"tight":{"$value":1.25},"snug":{"$value":1.375,"$description":"Swiss-canon snug rhythm (10t-5). Used by h2/h3 composites for tight-but-readable heading lines."},"normal":{"$value":1.5},"relaxed":{"$value":1.625,"$description":"Swiss-canon relaxed rhythm (10t-5). Used by body/small/mono composites for long-form prose comfort."},"display":{"$value":1.05,"$description":"Display role leading (hds#485)."},"body":{"$value":1.6,"$description":"Body role leading (hds#485)."}},"letterSpacing":{"$type":"dimension","tight":{"$value":{"value":-0.01,"unit":"em"}},"normal":{"$value":{"value":0,"unit":"em"}},"caps":{"$value":{"value":0.06,"unit":"em"},"$description":"All-caps tracking for eyebrow / kicker labels. Always pairs with text-transform: uppercase."}}},"duration":{"$type":"duration","instant":{"$value":{"value":100,"unit":"ms"},"$description":"Fixed elapsed time interval in milliseconds."},"short":{"$value":{"value":150,"unit":"ms"},"$description":"Fixed elapsed time interval in milliseconds."},"medium":{"$value":{"value":250,"unit":"ms"},"$description":"Fixed elapsed time interval in milliseconds."},"long":{"$value":{"value":400,"unit":"ms"},"$description":"Fixed elapsed time interval in milliseconds."}},"easing":{"$type":"cubicBezier","emphasized":{"$value":[0.4,0,0.2,1],"$description":"Cubic bezier with balanced input and output tangents."},"decelerate":{"$value":[0,0,0.2,1],"$description":"Cubic bezier with steep initial gain and constrained tail velocity."},"accelerate":{"$value":[0.4,0,1,1],"$description":"Cubic bezier with restrained initial gain and steep terminal velocity."},"elastic":{"$value":[0.34,1.56,0.64,1],"$description":"Spring response defined by stiffness, damping, and mass parameters.","$extensions":{"com.hirobius.hds":{"$type":"spring","$value":{"type":"spring","stiffness":300,"damping":20,"mass":1},"bezierSource":"The cubicBezier is easeOutBack (easings.net), chosen as a stand-in for the spring, not fitted to it: both overshoot once, the curve by about 10% and spring(300, 20, 1) by about 11%."}}}},"shadow":{"color":{"$type":"color","$value":"220 13% 18%","$description":"HSL channels for shadow-color alpha compositing. Light: cool neutral; dark: black.","$extensions":{"com.figma.variables":{"modes":{"Light":"220 13% 18%","Dark":"0 0% 0%"}}}}},"breakpoint":{"$description":"Discrete viewport thresholds expressed as dimensions.","xs":{"$type":"dimension","$value":{"value":375,"unit":"px"}},"sm":{"$type":"dimension","$value":{"value":640,"unit":"px"}},"md":{"$type":"dimension","$value":{"value":768,"unit":"px"}},"lg":{"$type":"dimension","$value":{"value":1024,"unit":"px"}},"xl":{"$type":"dimension","$value":{"value":1280,"unit":"px"}}},"size":{"8":{"$type":"dimension","$value":{"value":8,"unit":"px"},"$description":"8px size step."},"10":{"$type":"dimension","$value":{"value":10,"unit":"px"},"$description":"10px size step."},"12":{"$type":"dimension","$value":{"value":12,"unit":"px"},"$description":"12px size step."},"16":{"$type":"dimension","$value":{"value":16,"unit":"px"},"$description":"16px size step."},"20":{"$type":"dimension","$value":{"value":20,"unit":"px"},"$description":"20px size step."},"24":{"$type":"dimension","$value":{"value":24,"unit":"px"},"$description":"24px size step."},"32":{"$type":"dimension","$value":{"value":32,"unit":"px"},"$description":"32px size step."},"40":{"$type":"dimension","$value":{"value":40,"unit":"px"},"$description":"40px size step."},"48":{"$type":"dimension","$value":{"value":48,"unit":"px"},"$description":"48px size step."},"64":{"$type":"dimension","$value":{"value":64,"unit":"px"},"$description":"64px size step."},"80":{"$type":"dimension","$value":{"value":80,"unit":"px"},"$description":"80px size step."},"96":{"$type":"dimension","$value":{"value":96,"unit":"px"},"$description":"96px size step."},"120":{"$type":"dimension","$value":{"value":120,"unit":"px"},"$description":"120px size step. Backs semantic.size.tile."},"$description":"Unaliased dimensional values.","interactive":{"$description":"Interactive control size minimums.","min":{"$type":"dimension","$value":{"value":44,"unit":"px"},"$description":"Minimum interactive hit target size."},"minCompact":{"$type":"dimension","$value":{"value":24,"unit":"px"},"$description":"Compact inline control target minimum, e.g. a chip's remove button: WCAG 2.2 AA (2.5.8), not the 44px AAA floor (2.5.5)."}},"width":{"96":{"$type":"dimension","$value":{"value":96,"unit":"px"},"$description":"96px width step."},"280":{"$type":"dimension","$value":{"value":280,"unit":"px"},"$description":"Docs-shell rail width (hds#280): our own number, not HeroUI's 268px; fits the longest top-level nav label with room."},"760":{"$type":"dimension","$value":{"value":760,"unit":"px"}},"1200":{"$type":"dimension","$value":{"value":1200,"unit":"px"}},"50ch":{"$type":"dimension","$value":{"value":50,"unit":"ch"}}}},"grid":{"columns":{"1":{"$type":"number","$value":1},"2":{"$type":"number","$value":2},"3":{"$type":"number","$value":3}}},"zIndex":{"0":{"$type":"number","$value":0},"10":{"$type":"number","$value":10},"100":{"$type":"number","$value":100},"1000":{"$type":"number","$value":1000},"$description":"Discrete stacking levels along the z axis."},"borderWidth":{"$type":"dimension","xs":{"$value":{"value":1,"unit":"px"}},"sm":{"$value":{"value":2,"unit":"px"}},"md":{"$value":{"value":4,"unit":"px"}}}}`), oa = /* @__PURE__ */ JSON.parse(`{"motion":{"$type":"transition","$extensions":{"com.hirobius.hds":{"$type":"motion"}},"productive":{"$value":{"duration":"{primitive.duration.short}","delay":{"value":0,"unit":"ms"},"timingFunction":"{primitive.easing.decelerate}"},"$description":"For micro-interactions and status changes. No deformation."},"expressive":{"$value":{"duration":"{primitive.duration.medium}","delay":{"value":0,"unit":"ms"},"timingFunction":"{primitive.easing.elastic}"},"$description":"For teaching moments and significant UI entries. Includes physics-based squish."},"spatial":{"$value":{"duration":"{primitive.duration.long}","delay":{"value":0,"unit":"ms"},"timingFunction":"{primitive.easing.emphasized}"},"$description":"For elements traveling long distances across the viewport."},"exit":{"$value":{"duration":"{primitive.duration.instant}","delay":{"value":0,"unit":"ms"},"timingFunction":"{primitive.easing.accelerate}"},"$description":"For elements being removed from the DOM."},"distance":{"$type":"dimension","$value":"{primitive.space.6}","$description":"Scroll-reveal translateY travel distance. Equals semantic.space.scale.md today, but names motion travel, not a spacing tier (hds#242)."}},"color":{"$type":"color","surface":{"page":{"$value":"{primitive.color.neutral.white}","$description":"Main page background","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.white}","Dark":"{primitive.color.neutral.black}"}}}},"raised":{"$value":"{primitive.color.neutral.50}","$description":"Subtle elevated surface (cards, sections)","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.50}","Dark":"{primitive.color.neutral.950}"}}}},"overlay":{"$value":"{primitive.color.neutral.100}","$description":"Deeper surface layer","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.850}"}}}},"scrim":{"$value":"{primitive.color.neutral.900}","$description":"Opaque modal backdrop, near-black in both themes. Apply alpha in the class (bg-scrim/60), not here.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.900}","Dark":"{primitive.color.neutral.black}"}}}},"inverse":{"$value":"{primitive.color.neutral.black}","$description":"Inverted background for contrast sections","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.black}","Dark":"{primitive.color.neutral.white}"}}}},"accent":{"$value":"{primitive.color.graphite.700}","$description":"Accent fill, warm graphite. Dark in light mode, light warm-grey in dark mode; pair with content.onAccent.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.700}","Dark":"{primitive.color.graphite.200}"}}}},"accentSubtle":{"$value":"{primitive.color.graphite.50}","$description":"Faint accent tint for hover states or highlights.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.50}","Dark":"{primitive.color.graphite.800}"}}}},"hover":{"$value":"{primitive.color.neutral.100}","$description":"Background for a hovered interactive surface (menu items, chips, tertiary buttons).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.900}"}}}},"pressed":{"$value":"{primitive.color.neutral.50}","$description":"Background for an actively pressed interactive surface.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.50}","Dark":"{primitive.color.neutral.950}"}}}},"selected":{"$value":"{primitive.color.neutral.200}","$description":"Background for a persistently selected item (active tab, checked row).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.200}","Dark":"{primitive.color.neutral.800}"}}}},"muted":{"$value":"{primitive.color.neutral.100}","$description":"Muted background for low-emphasis content blocks.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.900}"}}}},"sunken":{"$value":"{primitive.color.neutral.200}","$description":"Recessed background for inset wells (inputs, code blocks, nested panels).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.200}","Dark":"{primitive.color.neutral.850}"}}}}},"content":{"primary":{"$value":"{primitive.color.neutral.900}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.900}","Dark":"{primitive.color.neutral.100}"}}}},"secondary":{"$value":"{primitive.color.neutral.600}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.600}","Dark":"{primitive.color.neutral.400}"}}}},"disabled":{"$value":"{primitive.color.neutral.300}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.300}","Dark":"{primitive.color.neutral.600}"}}}},"inverse":{"$value":"{primitive.color.neutral.100}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.900}"}}}},"accent":{"$value":"{primitive.color.graphite.700}","$description":"Accent-intent text/icon color — graphite, legible on page and card surfaces. Pair with underline/weight for link affordance.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.700}","Dark":"{primitive.color.graphite.300}"}}}},"onAccent":{"$value":"{primitive.color.neutral.50}","$description":"Text and icons on accent fills: near-white in light mode, dark graphite in dark mode.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.50}","Dark":"{primitive.color.graphite.900}"}}}},"success":{"$value":"{primitive.color.green.700}","$description":"Success-toned text/icon color, independent of feedback banners.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.green.700}","Dark":"{primitive.color.green.400}"}}}},"warning":{"$value":"{primitive.color.amber.800}","$description":"Warning-toned text/icon color, independent of feedback banners.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.amber.800}","Dark":"{primitive.color.amber.400}"}}}},"danger":{"$value":"{primitive.color.red.700}","$description":"Danger-toned text/icon color, independent of feedback banners.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.red.700}","Dark":"{primitive.color.red.400}"}}}}},"border":{"default":{"$value":"{primitive.color.neutral.200}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.200}","Dark":"{primitive.color.neutral.700}"}}}},"interactive":{"$value":"{primitive.color.neutral.500}","$description":"Border for interactive control boundaries (inputs, selects, secondary buttons); meets the WCAG 1.4.11 3:1 non-text contrast floor.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.500}","Dark":"{primitive.color.neutral.500}"}}}},"subdued":{"$value":"{primitive.color.neutral.200}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.200}","Dark":"{primitive.color.neutral.800}"}}}},"subtle":{"$value":"{primitive.color.neutral.100}","$description":"Lowest-contrast border for resting hairline edges on flat surfaces.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.100}","Dark":"{primitive.color.neutral.850}"}}}},"strong":{"$value":"{primitive.color.neutral.300}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.300}","Dark":"{primitive.color.neutral.600}"}}}},"accent":{"$value":"{primitive.color.graphite.700}","$description":"Accent border — graphite, dark enough to read as a boundary on page and card surfaces.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.700}","Dark":"{primitive.color.graphite.300}"}}}},"success":{"$value":"{primitive.color.green.400}","$description":"Success-toned border for status outlines and success-state inputs.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.green.400}","Dark":"{primitive.color.green.400}"}}}},"warning":{"$value":"{primitive.color.amber.400}","$description":"Warning-toned border for status outlines and warning-state inputs.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.amber.400}","Dark":"{primitive.color.amber.400}"}}}}},"feedback":{"error":{"$type":"color","$value":"{primitive.color.red.700}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.red.700}","Dark":"{primitive.color.red.400}"}}}},"success":{"$type":"color","$value":"{primitive.color.green.700}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.green.700}","Dark":"{primitive.color.green.400}"}}}},"warning":{"$type":"color","$value":"{primitive.color.amber.800}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.amber.800}","Dark":"{primitive.color.amber.400}"}}}},"info":{"$type":"color","$value":"{primitive.color.blue.500}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.blue.500}","Dark":"{primitive.color.blue.300}"}}}},"inProgress":{"$type":"color","$value":"{primitive.color.violet.700}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.violet.700}","Dark":"{primitive.color.violet.400}"}}}},"bg":{"error":{"$type":"color","$value":"{primitive.color.red.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.red.50}","Dark":"{primitive.color.red.950}"}}}},"success":{"$type":"color","$value":"{primitive.color.green.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.green.50}","Dark":"{primitive.color.green.950}"}}}},"warning":{"$type":"color","$value":"{primitive.color.amber.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.amber.50}","Dark":"{primitive.color.amber.950}"}}}},"info":{"$type":"color","$value":"{primitive.color.blue.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.blue.50}","Dark":"{primitive.color.blue.900}"}}}},"inProgress":{"$type":"color","$value":"{primitive.color.violet.50}","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.violet.50}","Dark":"{primitive.color.violet.950}"}}}}}},"state":{"pressed":{"overlay":{"$value":"{primitive.color.neutral.black}","$description":"Opaque pressed wash over a control's own fill: black in light, white in dark. Alpha in the class (inset-shadow-pressed-overlay/5).","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.black}","Dark":"{primitive.color.neutral.white}"}}}}}}},"space":{"$type":"dimension","$description":"Semantic spacing tiers: subgrid, component, layout, section, scale.","scale":{"$description":"hds#206: the canonical spacing vocabulary, one monotonic t-shirt scale (xs to xl) for padding, margin and gap. Supersedes deprecated names.","xs":{"$value":"{primitive.space.2}","$description":"8px — smallest step. Same value as component.gap (deprecated alias)."},"sm":{"$value":"{primitive.space.4}","$description":"16px — same value as layout.tight (deprecated alias)."},"md":{"$value":"{primitive.space.6}","$description":"24px. Default of the overridable roles surface.padding and region.gutter. The deprecated layout.normal has the same value."},"lg":{"$value":"{primitive.space.8}","$description":"32px — same value as layout.inset (deprecated alias)."},"xl":{"$value":"{primitive.space.12}","$description":"48px — same value as layout.spacious (deprecated alias)."}},"surface":{"$description":"hds#206 surface inset role. Tenants override it per brand and density, always with a scale step.","padding":{"$value":"{semantic.space.scale.md}","$description":"24px (scale.md) inset for cards, forms and panels. Tenants override it per brand and density. Replaces component.padding."}},"region":{"$description":"hds#206 region gutter role. theme.css retunes it per viewport, always with a scale step.","gutter":{"$value":"{semantic.space.scale.md}","$description":"24px (scale.md) column and region gutters; theme.css sets scale.lg (32px), and scale.sm (16px) below 640px. Replaces layout.gutter."}},"subgrid":{"hairline":{"$value":"{primitive.space.px1}","$description":"1px border offset and hairline spacing."},"xs":{"$value":"{primitive.space.px2}","$description":"2px vertical rhythm nudge and baseline adjustment."},"gap":{"$value":"{primitive.space.1}","$description":"4px cap-height and inline cluster spacing."}},"component":{"gap":{"$value":"{primitive.space.2}","$description":"8px label↔input rhythm and closely coupled control spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.xs; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.xs"},"medium":{"$value":"{primitive.space.3}","$description":"12px adjacent form fields and medium intra-component gaps."},"padding":{"$value":"{semantic.space.surface.padding}","$description":"24px inset for cards, forms and panels. DEPRECATED alias (hds#206) — use semantic.space.surface.padding; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.surface.padding"}},"layout":{"tight":{"$value":"{primitive.space.4}","$description":"16px default HdsStack gap and inter-component spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.sm; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.sm"},"normal":{"$value":"{primitive.space.6}","$description":"24px column gutters and sidebar gutter spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.md; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.md"},"gutter":{"$value":"{semantic.space.region.gutter}","$description":"24px column and region gutters. DEPRECATED alias (hds#206) — use semantic.space.region.gutter (responsive in theme.css); kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.region.gutter"},"inset":{"$value":"{primitive.space.8}","$description":"32px major block separation and inset inter-component gaps. DEPRECATED alias (hds#206) — use semantic.space.scale.lg; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.lg"},"spacious":{"$value":"{primitive.space.12}","$description":"48px break between major content blocks. DEPRECATED alias (hds#206) — use semantic.space.scale.xl; kept live, no removal yet.","$deprecated":"hds#206 — use semantic.space.scale.xl"}},"section":{"stack":{"$value":"{primitive.space.20}","$description":"80px vertical rhythm between page sections and major editorial blocks."},"inset":{"$value":"{primitive.space.24}","$description":"96px hero and landing-page inset padding."},"heroMax":{"$value":"{primitive.space.32}","$description":"128px maximum hero region padding for extra-large displays."}},"sidebar":{"indent":{"$value":"{primitive.space.3}","$description":"12px indent level for nested sidebar and TOC groups."},"gap":{"$value":"{primitive.space.4}","$description":"16px vertical spacing between items in sidebar and TOC stacks."},"sectionGap":{"$value":"{primitive.space.3}","$description":"12px spacing between sidebar sections and grouped rail blocks."},"railPadding":{"$value":"{primitive.space.5}","$description":"20px outer padding for sidebar and TOC rails."},"railWidth":{"$type":"dimension","$value":"{primitive.size.width.280}","$description":"Docs-shell nav and TOC rail width (hds#280), one token for both rails; 0 below their breakpoint (see HdsDocsShell)."}}},"layout":{"width":{"content":{"$type":"dimension","$value":"{primitive.size.width.760}","$description":"Max width for prose/content (760px). Use with HdsContainer for centered text blocks."},"max":{"$type":"dimension","$value":"{primitive.size.width.1200}","$description":"Max width for full-layout containers (1200px). Use with HdsContainer for page layouts."}},"container":{"maxWidth":{"$type":"dimension","$value":"{primitive.size.width.1200}"}},"content":{"maxWidth":{"$type":"dimension","$value":"{primitive.size.width.760}"}},"prose":{"maxWidth":{"$type":"dimension","$value":"{primitive.size.width.50ch}"}},"section":{"paddingY":{"$type":"dimension","$value":"{primitive.space.20}"}},"grid":{"gap":{"$type":"dimension","$value":"{primitive.space.8}"},"columns":{"mobile":{"$type":"number","$value":"{primitive.grid.columns.1}"},"tablet":{"$type":"number","$value":"{primitive.grid.columns.2}"},"desktop":{"$type":"number","$value":"{primitive.grid.columns.3}"}}}},"typography":{"$type":"typography","$description":"5-role type ramp plus mono (hds#483): display, title, body, ui, caption, mono. h1, h2, h3 and eyebrow are deprecated aliases.","display":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.5xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.display}"},"$description":"One per page, hero only. 48px / 1.05 / 700. Role 1 of 6."},"title":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.2xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.tight}"},"$description":"Section and card headings. 24px / 1.25 / 700. Role 2 of 6."},"body":{"$value":{"fontFamily":"{primitive.typography.family.primary}","fontSize":"{primitive.typography.size.base}","fontWeight":"{primitive.typography.weight.regular}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.body}","maxWidth":{"value":60,"unit":"ch"}},"$description":"Prose. 16px / 1.6 / 400, 60ch measure. Role 3 of 6."},"ui":{"$value":{"fontFamily":"{primitive.typography.family.primary}","fontSize":"{primitive.typography.size.sm}","fontWeight":"{primitive.typography.weight.medium}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.normal}","maxWidth":{"value":60,"unit":"ch"}},"$description":"Controls, nav, table text, values. 14px / 1.5 / 500. Role 4 of 6."},"caption":{"$value":{"fontFamily":"{primitive.typography.family.primary}","fontSize":"{primitive.typography.size.xs}","fontWeight":"{primitive.typography.weight.medium}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.normal}"},"$description":"Metadata, help text and labels, in sentence case. 12px / 1.5 / 500. Role 5 of 6."},"mono":{"$value":{"fontFamily":"{primitive.typography.family.mono}","fontSize":"{primitive.typography.size.code}","fontWeight":"{primitive.typography.weight.regular}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.normal}","maxWidth":{"value":60,"unit":"ch"}},"$description":"Code and ids. 13px / 1.5 / 400. The mono companion, role 6 of 6."},"h1":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.2xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.tight}"},"$description":"deprecated: use semantic.typography.title","$deprecated":"hds#483 — use semantic.typography.title"},"h2":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.2xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.tight}"},"$description":"deprecated: use semantic.typography.title","$deprecated":"hds#483 — use semantic.typography.title"},"h3":{"$value":{"fontFamily":"{primitive.typography.family.display}","fontSize":"{primitive.typography.size.2xl}","fontWeight":"{primitive.typography.weight.bold}","letterSpacing":"{primitive.typography.letterSpacing.tight}","lineHeight":"{primitive.typography.lineHeight.tight}"},"$description":"deprecated: use semantic.typography.title","$deprecated":"hds#483 — use semantic.typography.title"},"eyebrow":{"$value":{"fontFamily":"{primitive.typography.family.primary}","fontSize":"{primitive.typography.size.xs}","fontWeight":"{primitive.typography.weight.medium}","letterSpacing":"{primitive.typography.letterSpacing.normal}","lineHeight":"{primitive.typography.lineHeight.normal}"},"$description":"deprecated: use semantic.typography.caption","$deprecated":"hds#483 — use semantic.typography.caption"},"lineHeight":{"none":{"$type":"number","$value":"{primitive.typography.lineHeight.none}","$description":"Semantic alias for leading-none (1). Display text and badge spans."}}},"docs":{"$description":"Doc-page spacing scale: section, paragraph, inline rhythm.","space":{"$type":"dimension","section":{"$value":"{primitive.space.12}","$description":"48px between H2 sections — generous section break for doc pages."},"paragraph":{"$value":"{primitive.space.6}","$description":"24px between paragraphs — comfortable prose rhythm for long-form doc content."},"inline":{"$value":"{primitive.space.2}","$description":"8px inline cluster spacing — gap between metadata badges, inline icons, doc-page chips."}}},"accent":{"$type":"color","rest":{"$value":"{primitive.color.graphite.700}","$description":"Default accent fill for interactive elements at rest — warm graphite. Inverts per theme; pair with content.onAccent.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.700}","Dark":"{primitive.color.graphite.200}"}}}},"hover":{"$value":"{primitive.color.graphite.800}","$description":"Accent fill on pointer hover.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.800}","Dark":"{primitive.color.graphite.300}"}}}},"pressed":{"$value":"{primitive.color.graphite.900}","$description":"Accent fill during active press.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.900}","Dark":"{primitive.color.graphite.400}"}}}},"inactive":{"$value":"{primitive.color.neutral.400}","$description":"Accent fill for inactive or unselected accent elements.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.400}","Dark":"{primitive.color.neutral.600}"}}}},"disabled":{"$value":"{primitive.color.neutral.300}","$description":"Accent fill for disabled accent elements.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.neutral.300}","Dark":"{primitive.color.neutral.700}"}}}},"content":{"$value":"{primitive.color.graphite.700}","$description":"Accent-intent text/icon color on neutral surfaces (graphite) — pair with underline/weight for link affordance.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.700}","Dark":"{primitive.color.graphite.300}"}}}},"contentHover":{"$value":"{primitive.color.graphite.800}","$description":"Accent content color on pointer hover.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.800}","Dark":"{primitive.color.graphite.200}"}}}},"subtle":{"$value":"{primitive.color.graphite.50}","$description":"Low-emphasis accent tint for hover backgrounds and selection highlights.","$extensions":{"com.figma.variables":{"modes":{"Light":"{primitive.color.graphite.50}","Dark":"{primitive.color.graphite.800}"}}}}},"radius":{"action":{"$type":"dimension","$value":"{primitive.radius.8}","$description":"Corner radius for action elements (buttons, inputs, badges); Tailwind rounded-md resolves here. Override role.radius to reshape the system."},"control":{"$type":"dimension","$value":"{primitive.radius.4}","$description":"Corner radius for small control glyphs such as the checkbox box: not fully round, and distinct from semantic.radius.action (hds#242)."}},"borderWidth":{"default":{"$type":"dimension","$value":"{primitive.borderWidth.xs}","$description":"Default hairline border weight for surfaces and inputs."},"emphasis":{"$type":"dimension","$value":"{primitive.borderWidth.sm}","$description":"Stronger border weight for focus rings and active indicators."}},"shadow":{"$type":"shadow","subtle":{"$value":"0 1px 2px hsl(var(--primitive-shadow-color) / 0.04), 0 1px 1px hsl(var(--primitive-shadow-color) / 0.06)","$description":"Resting elevation shadow for raised surfaces (cards, inline panels)."},"floating":{"$value":"0 4px 6px hsl(var(--primitive-shadow-color) / 0.05), 0 10px 15px hsl(var(--primitive-shadow-color) / 0.08)","$description":"Hover/floating elevation for menus, popovers, and tooltips."},"overlay":{"$value":"0 10px 15px hsl(var(--primitive-shadow-color) / 0.08), 0 25px 50px hsl(var(--primitive-shadow-color) / 0.12)","$description":"Modal/dialog elevation for full-screen overlays."}},"elevation":{"$extensions":{"com.hirobius.hds":{"$type":"elevation"}},"flat":{"$description":"Flat surface (no shadow, hairline border) for embedded panels.","$extensions":{"com.hirobius.hds":{"$value":{"surface":"{semantic.color.surface.page}","shadow":null,"border":"{semantic.color.border.subtle}"}}}},"raised":{"$description":"Resting card / panel elevation.","$extensions":{"com.hirobius.hds":{"$value":{"surface":"{semantic.color.surface.raised}","shadow":"{semantic.shadow.subtle}","border":null}}}},"floating":{"$description":"Hover, menu, and popover elevation.","$extensions":{"com.hirobius.hds":{"$value":{"surface":"{semantic.color.surface.raised}","shadow":"{semantic.shadow.floating}","border":null}}}},"overlay":{"$description":"Modal, dialog, and drawer elevation.","$extensions":{"com.hirobius.hds":{"$value":{"surface":"{semantic.color.surface.overlay}","shadow":"{semantic.shadow.overlay}","border":null}}}}},"size":{"$type":"dimension","$description":"Sizing roles for control glyphs, avatars and table rows. Roles sharing a value stay separate so each can change (hds#242).","control":{"$description":"Interactive control glyph/element sizing (checkbox glyph box, radio dot, slider track/fill, code-block copy-button-matched footprint).","sm":{"$value":"{primitive.size.8}","$description":"Small control element — radio dot, slider fill bar height."},"md":{"$value":"{primitive.size.20}","$description":"Medium control element — checkbox glyph box, slider track wrapper height."},"lg":{"$value":"{primitive.size.32}","$description":"Large control footprint — code-block inline-wrapper min-height / copy-button-matched pre padding."}},"icon":{"$description":"Reserved icon-size role, parallel to the existing --hds-icon-* bridge (src/styles/theme.css), for future direct semantic.size.icon consumers.","sm":{"$value":"{primitive.size.16}","$description":"Small icon box — matches --hds-icon-small."},"md":{"$value":"{primitive.size.20}","$description":"Medium icon box — matches --hds-icon-medium."},"lg":{"$value":"{primitive.size.24}","$description":"Large icon box — matches --hds-icon-large."}},"avatar":{"$value":"{primitive.size.40}","$description":"Avatar size (width and height) for activity feeds and identity glyphs. Same pixels as row.compact today, a separate role (hds#242)."},"tile":{"$value":"{primitive.size.120}","$description":"Minimum height of a metric tile, one height for every tile so rows line up (hds#403)."},"row":{"$description":"Table row minimum height by density.","compact":{"$value":"{primitive.size.40}","$description":"Compact-density row minimum height."},"comfortable":{"$value":"{primitive.size.48}","$description":"Comfortable-density row minimum height."}}},"zIndex":{"$type":"number","$description":"Named stacking layers, aliasing the numeric primitive.zIndex scale (hds#242).","control":{"$value":"{primitive.zIndex.10}","$description":"Raises an interactive control (e.g. a native range input) above its visual decoration for hit-testing."},"sticky":{"$value":"{primitive.zIndex.100}","$description":"Sticky-positioned elements, such as a table header row."}}}`), sa = { nav: { bg: { $type: "color", $value: "{semantic.color.surface.page}", $description: "Nav bar background fill." }, bgActive: { $type: "color", $value: "{semantic.accent.subtle}", $description: "Nav item background fill when active or selected." }, borderActive: { $type: "color", $value: "{semantic.color.surface.accent}", $description: "Nav item border color when active or selected." }, text: { $type: "color", $value: "{semantic.color.content.secondary}", $description: "Nav item text color at rest." }, textActive: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Nav item text color when active or selected." }, height: { $type: "dimension", $value: "{primitive.space.16}", $description: "Nav bar height." }, paddingX: { $type: "dimension", $value: "{primitive.space.6}", $description: "Horizontal padding inside nav items." }, paddingY: { $type: "dimension", $value: "{primitive.space.2}", $description: "Vertical padding inside nav items." } }, tag: { background: { $type: "color", $value: "{semantic.accent.subtle}", $description: "Base tag surface color." }, text: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Default tag text color." }, border: { $type: "color", $value: "{semantic.color.border.default}", $description: "Default tag border color." }, radius: { $type: "dimension", $value: "{primitive.radius.full}", $description: "Pill radius for the tag surface." }, fontSize: { $type: "dimension", $value: "{primitive.typography.size.xs}", $description: "Tag type size." }, fontWeight: { $type: "fontWeight", $value: "{primitive.typography.weight.medium}", $description: "Tag label weight." }, lineHeight: { $type: "number", $value: "{primitive.typography.lineHeight.normal}", $description: "Readable label rhythm for tags." }, minWidth: { $type: "dimension", $value: "{primitive.size.48}", $description: "Minimum tag width." }, minHeight: { $type: "dimension", $value: "{primitive.space.6}", $description: "Minimum tag height." }, paddingX: { $type: "dimension", $value: "{primitive.space.3}", $description: "Horizontal padding inside the pill." }, paddingY: { $type: "dimension", $value: "{primitive.space.2}", $description: "Vertical padding inside the pill." }, activeText: { $type: "color", $value: "{semantic.color.content.onAccent}", $description: "Text color when the tag is active." }, activeBackground: { $type: "color", $value: "{semantic.accent.rest}", $description: "Active tag fill color." }, activeBorder: { $type: "color", $value: "{semantic.accent.rest}", $description: "Active tag border color." }, activeHover: { $type: "color", $value: "{semantic.accent.hover}", $description: "Active tag hover fill color." } }, badge: { fontSize: { $type: "dimension", $value: "{primitive.typography.size.xs}", $description: "Badge type size." }, fontWeight: { $type: "fontWeight", $value: "{primitive.typography.weight.medium}", $description: "Badge label weight." }, text: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Badge text color." }, bg: { $type: "color", $value: "{semantic.color.feedback.bg.info}", $extensions: { "com.figma.variables": { modes: { Light: "{semantic.color.feedback.bg.info}", Dark: "{semantic.color.feedback.bg.info}" } } }, $description: "Badge background color." }, radius: { $type: "dimension", $value: "{primitive.radius.4}", $description: "Small rounded radius for badges." }, height: { $type: "dimension", $value: "{primitive.size.20}", $description: "Badge height." }, minWidth: { $type: "dimension", $value: "{primitive.size.20}", $description: "Badge minimum width." }, paddingY: { $type: "dimension", $value: "{primitive.space.px2}", $description: "Vertical padding inside the badge." }, paddingX: { $type: "dimension", $value: "{primitive.space.px6}", $description: "Horizontal padding inside the badge." } }, button: { bg: { $type: "color", $value: "{semantic.color.surface.accent}", $description: "Primary button fill." }, bgHover: { $type: "color", $value: "{semantic.accent.hover}", $description: "Primary button hover fill." }, text: { $type: "color", $value: "{semantic.color.content.onAccent}", $description: "Primary button text color." }, radius: { $type: "dimension", $value: "{semantic.radius.action}", $description: "Button corner radius." }, paddingX: { $type: "dimension", $value: "{primitive.space.4}", $description: "Horizontal button padding." }, paddingY: { $type: "dimension", $value: "{primitive.space.3}", $description: "Vertical button padding." }, size: { sm: { paddingX: { $type: "dimension", $value: "{primitive.space.2}", $description: "Small button horizontal padding (8px)." }, paddingY: { $type: "dimension", $value: "{primitive.space.1}", $description: "Small button vertical padding (4px)." }, fontSize: { $type: "dimension", $value: "{primitive.typography.size.xs}", $description: "Small button label size (12px, hds#283: was 13px)." }, iconSize: { $type: "dimension", $value: "{primitive.size.12}", $description: "Small button icon slot size (12px)." }, height: { $type: "dimension", $value: "{primitive.space.7}", $description: "Small button height (28px)." }, itemSpacing: { $type: "dimension", $value: "{primitive.space.1}", $description: "Small button icon-to-label gap (4px)." } }, md: { paddingX: { $type: "dimension", $value: "{primitive.space.4}", $description: "Medium button horizontal padding (16px)." }, paddingY: { $type: "dimension", $value: "{primitive.space.3}", $description: "Medium button vertical padding (12px)." }, fontSize: { $type: "dimension", $value: "{primitive.typography.size.sm}", $description: "Medium button label size (14px, hds#283: was 15px)." }, iconSize: { $type: "dimension", $value: "{primitive.size.16}", $description: "Medium button icon slot size (16px)." }, height: { $type: "dimension", $value: "{primitive.size.40}", $description: "Medium button height (40px)." }, itemSpacing: { $type: "dimension", $value: "{primitive.space.2}", $description: "Medium button icon-to-label gap (8px)." } }, lg: { paddingX: { $type: "dimension", $value: "{primitive.space.6}", $description: "Large button horizontal padding (24px)." }, paddingY: { $type: "dimension", $value: "{primitive.space.4}", $description: "Large button vertical padding (16px)." }, fontSize: { $type: "dimension", $value: "{primitive.typography.size.base}", $description: "Large button label size (16px, hds#283: was 17px)." }, iconSize: { $type: "dimension", $value: "{primitive.size.20}", $description: "Large button icon slot size (20px)." }, height: { $type: "dimension", $value: "{primitive.size.48}", $description: "Large button height (48px)." }, itemSpacing: { $type: "dimension", $value: "{primitive.space.2}", $description: "Large button icon-to-label gap (8px)." } } }, primary: { textDisabled: { $type: "color", $value: "{semantic.color.content.disabled}", $description: "Disabled primary button text color." }, bgDisabled: { $type: "color", $value: "{semantic.color.surface.muted}", $description: "Disabled primary button fill." } }, secondary: { bg: { rest: { $type: "color", $value: "{semantic.color.surface.page}", $description: "Secondary button fill." }, hover: { $type: "color", $value: "{semantic.color.surface.raised}", $description: "Secondary button hover fill." }, pressed: { $type: "color", $value: "{semantic.color.surface.overlay}", $description: "Secondary button pressed fill." } }, border: { rest: { $type: "color", $value: "{semantic.color.border.interactive}", $description: "Secondary button border." }, hover: { $type: "color", $value: "{semantic.color.border.interactive}", $description: "Secondary button hover border." }, pressed: { $type: "color", $value: "{semantic.color.border.interactive}", $description: "Secondary button pressed border." }, disabled: { $type: "color", $value: "{semantic.color.border.subdued}", $description: "Secondary button disabled border." } }, text: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Secondary button text color." } } }, input: { bg: { $type: "color", $value: "{semantic.color.surface.raised}" }, text: { $type: "color", $value: "{semantic.color.content.primary}" }, border: { $type: "color", $value: "{semantic.color.border.interactive}" }, borderError: { $type: "color", $value: "{semantic.color.feedback.error}" }, radius: { $type: "dimension", $value: "{semantic.radius.action}" }, paddingX: { $type: "dimension", $value: "{primitive.space.4}" }, paddingY: { $type: "dimension", $value: "{primitive.space.3}" } }, card: { bg: { $type: "color", $value: "{semantic.color.surface.raised}" }, border: { $type: "color", $value: "{semantic.color.border.default}" }, radius: { $type: "dimension", $value: "{primitive.radius.8}" }, padding: { $type: "dimension", $value: "{primitive.space.6}" }, gap: { $type: "dimension", $value: "{primitive.space.2}" } }, lightbox: { backdrop: { blur: { $type: "dimension", $value: "{primitive.blur.16}", $description: "Backdrop blur applied behind fullscreen image lightboxes." } } } }, la = { $description: "Shadcn-style role aliases mapping to semantic tokens. Compiled to --role-* CSS vars.", background: { $type: "color", $value: "{semantic.color.surface.page}", $description: "Page background. shadcn role: background." }, foreground: { $type: "color", $value: "{semantic.color.content.primary}", $description: "Default text on background. shadcn role: foreground." }, card: { $type: "color", $value: "{semantic.color.surface.raised}", $description: "Card surface. shadcn role: card." }, "card-foreground": { $type: "color", $value: "{semantic.color.content.primary}", $description: "Text on card. shadcn role: card-foreground." }, popover: { $type: "color", $value: "{semantic.color.surface.overlay}", $description: "Popover/menu surface. shadcn role: popover." }, scrim: { $type: "color", $value: "{semantic.color.surface.scrim}", $description: "Modal backdrop colour role. Apply alpha in the class, e.g. bg-scrim/60." }, "pressed-overlay": { $type: "color", $value: "{semantic.color.state.pressed.overlay}", $description: "Pressed-state overlay colour role. Apply alpha in the class, e.g. inset-shadow-pressed-overlay/5." }, "popover-foreground": { $type: "color", $value: "{semantic.color.content.primary}", $description: "Text on popover. shadcn role: popover-foreground." }, primary: { $type: "color", $value: "{semantic.color.surface.accent}", $description: "Primary action surface. shadcn role: primary." }, "primary-foreground": { $type: "color", $value: "{semantic.color.content.onAccent}", $description: "Text/icons on primary surface. shadcn role: primary-foreground." }, secondary: { $type: "color", $value: "{semantic.color.surface.raised}", $description: "Secondary action surface. shadcn role: secondary." }, "secondary-foreground": { $type: "color", $value: "{semantic.color.content.primary}", $description: "Text on secondary surface. shadcn role: secondary-foreground." }, muted: { $type: "color", $value: "{semantic.color.surface.overlay}", $description: "Muted/quiet bg (skeletons, disabled inputs). shadcn role: muted." }, "muted-foreground": { $type: "color", $value: "{semantic.color.content.secondary}", $description: "Muted text. shadcn role: muted-foreground." }, accent: { $type: "color", $value: "{semantic.color.surface.accentSubtle}", $description: "Hover/active tinted bg. shadcn role: accent." }, "accent-foreground": { $type: "color", $value: "{semantic.color.content.accent}", $description: "Text on accent surface. shadcn role: accent-foreground." }, destructive: { $type: "color", $value: "{semantic.color.feedback.error}", $description: "Destructive action surface. shadcn role: destructive." }, "destructive-foreground": { $type: "color", $value: "{semantic.color.content.inverse}", $description: "Text on destructive surface. shadcn role: destructive-foreground." }, border: { $type: "color", $value: "{semantic.color.border.default}", $description: "Default border. shadcn role: border." }, input: { $type: "color", $value: "{semantic.color.border.interactive}", $description: "Input field border. shadcn role: input." }, ring: { $type: "color", $value: "{semantic.color.border.accent}", $description: "Focus ring color. shadcn role: ring." }, radius: { $type: "dimension", $value: "{semantic.radius.action}", $description: "Default border radius. shadcn role: radius." } }, ca = {
3147
3148
  $schema: aa,
3148
3149
  $description: ra,
3149
3150
  primitive: na,
@@ -3164,21 +3165,21 @@ export {
3164
3165
  ka as Callout,
3165
3166
  vr as Card,
3166
3167
  gr as CardBody,
3167
- fr as CardDescription,
3168
- hr as CardFooter,
3168
+ hr as CardDescription,
3169
+ fr as CardFooter,
3169
3170
  br as CardHeader,
3170
3171
  $r as CardMetric,
3171
3172
  yr as CardProgress,
3172
3173
  xr as CardTitle,
3173
- Aa as Checkbox,
3174
+ Ma as Checkbox,
3174
3175
  nr as Combobox,
3175
3176
  wr as Container,
3176
3177
  Ca as Dialog,
3177
3178
  Tt as DialogClose,
3178
- Pt as DialogContent,
3179
+ Rt as DialogContent,
3179
3180
  It as DialogDescription,
3180
3181
  Lt as DialogFooter,
3181
- Rt as DialogHeader,
3182
+ Pt as DialogHeader,
3182
3183
  Ke as DialogOverlay,
3183
3184
  Je as DialogPortal,
3184
3185
  Vt as DialogTitle,
@@ -3190,8 +3191,8 @@ export {
3190
3191
  Sr as Grid,
3191
3192
  Tr as HdsRouterProvider,
3192
3193
  Nr as HdsThemeProvider,
3193
- A as Icon,
3194
- Ra as InlineCode,
3194
+ M as Icon,
3195
+ Pa as InlineCode,
3195
3196
  La as InlineLink,
3196
3197
  Va as Input,
3197
3198
  ja as Kbd,
@@ -3201,9 +3202,9 @@ export {
3201
3202
  Qa as Pin,
3202
3203
  ke as Popover,
3203
3204
  Ba as Progress,
3204
- Ma as Radio,
3205
- _a as SegmentedControl,
3206
- Oa as Select,
3205
+ Aa as Radio,
3206
+ Ga as SegmentedControl,
3207
+ _a as Select,
3207
3208
  Ka as Sidebar,
3208
3209
  Wa as Skeleton,
3209
3210
  Ea as Slider,
@@ -3218,13 +3219,13 @@ export {
3218
3219
  ar as TabsContent,
3219
3220
  tr as TabsList,
3220
3221
  ir as TabsTrigger,
3221
- Ga as Tag,
3222
+ Oa as Tag,
3222
3223
  Ue as Text,
3223
3224
  Ia as Textarea,
3224
3225
  Ua as Timestamp,
3225
3226
  cr as ToastProvider,
3226
3227
  Ha as Toggle,
3227
- Pa as Tooltip,
3228
+ Ra as Tooltip,
3228
3229
  qa as VisuallyHidden,
3229
3230
  d as cn,
3230
3231
  D as hds,