@hirobius/design-system 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/AGENTS.md +11 -1
  2. package/CHANGELOG.md +74 -0
  3. package/CONSUMING.md +2 -2
  4. package/DESIGN.md +24 -24
  5. package/NOTICE.md +1 -1
  6. package/README.md +20 -12
  7. package/UPGRADING.md +22 -1
  8. package/dist/chunks/{empty-state-DNoThgfV.js → empty-state-ChC_xZfg.js} +109 -92
  9. package/dist/chunks/{form-By82qZcC.js → form-zCZ_B83I.js} +16 -16
  10. package/dist/css-contract.json +1 -0
  11. package/dist/fonts/ibm-plex-mono-400.woff2 +0 -0
  12. package/dist/fonts.css +5 -5
  13. package/dist/form.js +1 -1
  14. package/dist/hirobius-ui.js +1254 -1181
  15. package/dist/manifest.js +5 -4
  16. package/dist/patterns.js +164 -162
  17. package/dist/styles.css +1 -1
  18. package/dist/tokens.css +1 -1
  19. package/dist/tokens.js +14 -1
  20. package/dist/types/src/app/components/asset-img.d.ts +1 -0
  21. package/dist/types/src/app/components/button.d.ts +1 -1
  22. package/dist/types/src/app/components/callout.d.ts +2 -1
  23. package/dist/types/src/app/components/card.d.ts +5 -3
  24. package/dist/types/src/app/components/code-block.d.ts +1 -0
  25. package/dist/types/src/app/components/combobox.d.ts +1 -1
  26. package/dist/types/src/app/components/data-table-section.d.ts +1 -0
  27. package/dist/types/src/app/components/destructive-section.d.ts +1 -0
  28. package/dist/types/src/app/components/divider.d.ts +1 -1
  29. package/dist/types/src/app/components/form-actions.d.ts +1 -0
  30. package/dist/types/src/app/components/form.d.ts +1 -0
  31. package/dist/types/src/app/components/grid.d.ts +1 -1
  32. package/dist/types/src/app/components/icon.d.ts +1 -1
  33. package/dist/types/src/app/components/metric-tiles.d.ts +2 -0
  34. package/dist/types/src/app/components/page-header.d.ts +1 -0
  35. package/dist/types/src/app/components/page.d.ts +1 -0
  36. package/dist/types/src/app/components/reveal.d.ts +1 -0
  37. package/dist/types/src/app/components/stack.d.ts +1 -1
  38. package/dist/types/src/app/components/tabs.d.ts +3 -1
  39. package/dist/types/src/app/context/hds-theme.d.ts +1 -1
  40. package/dist/types/src/app/design-system/generated-token-refs.d.ts +13 -0
  41. package/dist/types/src/app/design-system/generated-token-values.d.ts +14 -1
  42. package/dist/types/src/app/hooks/useInteractionState.d.ts +7 -1
  43. package/dist/types/src/index.d.ts +47 -0
  44. package/dist/variables.css +33 -22
  45. package/docs/CONSUMING.md +2 -2
  46. package/hirobius.tokens.json +87 -40
  47. package/llms.txt +29 -7
  48. package/package.json +7 -6
  49. package/public/hds-manifest.json +257 -99
  50. package/public/llms/components.txt +1 -1
  51. package/public/llms-full.txt +54 -32
  52. package/public/llms.txt +29 -7
  53. package/src/app/data/component-api.json +51 -18
  54. package/upgrade/index.json +8 -1
  55. package/upgrade/releases/0.23.0.json +259 -0
  56. package/upgrade/schema.json +114 -1
  57. package/dist/fonts/geist-mono-400.woff2 +0 -0
package/dist/patterns.js CHANGED
@@ -1,28 +1,28 @@
1
1
  'use client';
2
- import { F as ut, b as mt, a as ht, u as ft } from "./chunks/form-By82qZcC.js";
2
+ import { F as ht, b as ft, a as vt, u as gt } from "./chunks/form-zCZ_B83I.js";
3
3
  import { jsx as a, jsxs as l } from "react/jsx-runtime";
4
4
  import m from "./tokens.js";
5
- import { C as fe, h as ve, S as h, G as ne, u as re, a as M, I as H, T as V, B as P, b as ie, A as S, E as ge, c as ye } from "./chunks/empty-state-DNoThgfV.js";
5
+ import { C as ge, h as ye, S as h, G as ie, u as se, a as M, I as D, T as H, B as $, b as oe, A as S, E as be, c as xe } from "./chunks/empty-state-ChC_xZfg.js";
6
6
  import * as f from "react";
7
- import be, { useState as I, useId as xe, useRef as Y } from "react";
8
- import { AnimatePresence as Z, motion as se } from "motion/react";
7
+ import we, { useState as I, useId as ke, useRef as O } from "react";
8
+ import { AnimatePresence as X, motion as ce } from "motion/react";
9
9
  import { cva as x } from "class-variance-authority";
10
- import { Check as O, Copy as X, ChevronDown as we } from "lucide-react";
10
+ import { Check as G, Copy as K, ChevronDown as Se } from "lucide-react";
11
11
  import { cn as b } from "./cn.js";
12
- const ke = {
12
+ const Ne = {
13
13
  default: { top: m.space.px48, bottom: m.space.px64 },
14
14
  compact: { top: m.space.px24, bottom: m.space.px32 },
15
15
  none: { top: "0", bottom: "0" }
16
16
  };
17
- function qe({
17
+ function et({
18
18
  children: r,
19
19
  maxWidth: t = "max",
20
20
  paddingY: i = "default",
21
21
  style: n,
22
22
  className: e
23
23
  }) {
24
- const s = ke[i];
25
- return /* @__PURE__ */ a(fe, { maxWidth: t, className: e, children: /* @__PURE__ */ a(
24
+ const s = Ne[i];
25
+ return /* @__PURE__ */ a(ge, { maxWidth: t, className: e, children: /* @__PURE__ */ a(
26
26
  "div",
27
27
  {
28
28
  "data-hds-component": "Page",
@@ -32,7 +32,7 @@ function qe({
32
32
  }
33
33
  ) });
34
34
  }
35
- const Se = {
35
+ const Ce = {
36
36
  background: "var(--semantic-color-surface-accent)",
37
37
  border: "none",
38
38
  borderRadius: m.borderRadius.full,
@@ -43,26 +43,26 @@ const Se = {
43
43
  pointerEvents: "none",
44
44
  paddingBlock: m.space.px6,
45
45
  paddingInline: m.space.px16
46
- }, Ne = {
46
+ }, Ie = {
47
47
  ...m.typeStyles.ui,
48
48
  userSelect: "none",
49
49
  whiteSpace: "nowrap"
50
50
  };
51
- function G({ label: r }) {
52
- const t = re("productive");
51
+ function U({ label: r }) {
52
+ const t = se("productive");
53
53
  return /* @__PURE__ */ a(
54
- se.div,
54
+ ce.div,
55
55
  {
56
56
  initial: { opacity: 0, scale: 0.82 },
57
57
  animate: { opacity: 1, scale: 1 },
58
58
  exit: { opacity: 0, scale: 0.82 },
59
59
  transition: { duration: t.duration, ease: t.easing },
60
- children: /* @__PURE__ */ a(M, { as: "span", padding: "none", style: Se, children: /* @__PURE__ */ a(h, { as: "span", direction: "row", gap: "xs", align: "center", style: Ne, children: /* @__PURE__ */ a("span", { children: r }) }) })
60
+ children: /* @__PURE__ */ a(M, { as: "span", padding: "none", style: Ce, children: /* @__PURE__ */ a(h, { as: "span", direction: "row", gap: "xs", align: "center", style: Ie, children: /* @__PURE__ */ a("span", { children: r }) }) })
61
61
  }
62
62
  );
63
63
  }
64
- function K({ visible: r, mode: t, label: i = "Expand", x: n = 0, y: e = 0 }) {
65
- return t === "cursor" ? /* @__PURE__ */ a(ve, { children: /* @__PURE__ */ a(Z, { children: r && /* @__PURE__ */ a(
64
+ function J({ visible: r, mode: t, label: i = "Expand", x: n = 0, y: e = 0 }) {
65
+ return t === "cursor" ? /* @__PURE__ */ a(ye, { children: /* @__PURE__ */ a(X, { children: r && /* @__PURE__ */ a(
66
66
  h,
67
67
  {
68
68
  gap: "xs",
@@ -74,10 +74,10 @@ function K({ visible: r, mode: t, label: i = "Expand", x: n = 0, y: e = 0 }) {
74
74
  transform: "translate(14px, -50%)",
75
75
  pointerEvents: "none"
76
76
  },
77
- children: /* @__PURE__ */ a(G, { label: i })
77
+ children: /* @__PURE__ */ a(U, { label: i })
78
78
  }
79
- ) }) }) : /* @__PURE__ */ a(Z, { children: r && /* @__PURE__ */ a(
80
- ne,
79
+ ) }) }) : /* @__PURE__ */ a(X, { children: r && /* @__PURE__ */ a(
80
+ ie,
81
81
  {
82
82
  columns: 1,
83
83
  gap: "tight",
@@ -89,12 +89,12 @@ function K({ visible: r, mode: t, label: i = "Expand", x: n = 0, y: e = 0 }) {
89
89
  pointerEvents: "none",
90
90
  zIndex: m.zIndex.focus
91
91
  },
92
- children: /* @__PURE__ */ a(G, { label: i })
92
+ children: /* @__PURE__ */ a(U, { label: i })
93
93
  }
94
94
  ) });
95
95
  }
96
96
  const z = 280;
97
- function Qe({
97
+ function tt({
98
98
  src: r,
99
99
  alt: t,
100
100
  title: i,
@@ -114,9 +114,11 @@ function Qe({
114
114
  context: g = "default",
115
115
  loading: A = "lazy"
116
116
  }) {
117
- const [_, C] = I(!1), j = n && typeof n == "object" ? n : {}, [F, D] = I(!1), [ce, L] = I(!1), [le, de] = I(0), [pe, ue] = I(0), me = g === "default" && T && !!o;
117
+ const [_, N] = I(!1), [V, B] = I(r);
118
+ r !== V && (B(r), N(!1));
119
+ const j = n && typeof n == "object" ? n : {}, [L, Y] = I(!1), [de, Z] = I(!1), [pe, ue] = I(0), [me, he] = I(0), fe = g === "default" && T && !!o;
118
120
  if (!_)
119
- return me ? /* @__PURE__ */ l(
121
+ return fe ? /* @__PURE__ */ l(
120
122
  "div",
121
123
  {
122
124
  className: e ? `hds-focus ${e}` : "hds-focus",
@@ -134,17 +136,17 @@ function Qe({
134
136
  onKeyDown: (c) => {
135
137
  (c.key === "Enter" || c.key === " ") && o && (c.preventDefault(), o(c));
136
138
  },
137
- onMouseEnter: () => D(!0),
139
+ onMouseEnter: () => Y(!0),
138
140
  onMouseMove: (c) => {
139
- de(c.clientX), ue(c.clientY), v == null || v(c);
141
+ ue(c.clientX), he(c.clientY), v == null || v(c);
140
142
  },
141
143
  onMouseLeave: (c) => {
142
- D(!1), k == null || k(c);
144
+ Y(!1), k == null || k(c);
143
145
  },
144
146
  onMouseDown: y,
145
147
  onMouseUp: w,
146
- onFocus: () => L(!0),
147
- onBlur: () => L(!1),
148
+ onFocus: () => Z(!0),
149
+ onBlur: () => Z(!1),
148
150
  children: [
149
151
  /* @__PURE__ */ a(
150
152
  "img",
@@ -154,17 +156,17 @@ function Qe({
154
156
  loading: A,
155
157
  style: j,
156
158
  draggable: s,
157
- onError: () => C(!0)
159
+ onError: () => N(!0)
158
160
  }
159
161
  ),
160
- /* @__PURE__ */ a(K, { mode: "centered", visible: ce && !F, label: E }),
162
+ /* @__PURE__ */ a(J, { mode: "centered", visible: de && !L, label: E }),
161
163
  /* @__PURE__ */ a(
162
- K,
164
+ J,
163
165
  {
164
166
  mode: "cursor",
165
- visible: F,
166
- x: le,
167
- y: pe,
167
+ visible: L,
168
+ x: pe,
169
+ y: me,
168
170
  label: E
169
171
  }
170
172
  )
@@ -189,7 +191,7 @@ function Qe({
189
191
  onMouseMove: v,
190
192
  onMouseUp: w,
191
193
  onMouseLeave: k,
192
- onError: () => C(!0)
194
+ onError: () => N(!0)
193
195
  }
194
196
  )
195
197
  );
@@ -209,27 +211,27 @@ function Qe({
209
211
  "aria-label": t || void 0
210
212
  }
211
213
  );
212
- const N = d && p ? d / p : 4 / 3, he = N < 1;
214
+ const C = d && p ? d / p : 4 / 3, ve = C < 1;
213
215
  let W = {};
214
216
  if (g === "lightbox")
215
- W = n.width === "100%" ? { width: "100%", aspectRatio: `${N}`, display: "block" } : {
217
+ W = n.width === "100%" ? { width: "100%", aspectRatio: `${C}`, display: "block" } : {
216
218
  height: n.maxHeight ?? "70vh",
217
219
  width: "auto",
218
220
  maxWidth: "100%",
219
- aspectRatio: `${N}`,
221
+ aspectRatio: `${C}`,
220
222
  display: "block",
221
223
  flexShrink: 0
222
224
  };
223
225
  else {
224
226
  let c, R;
225
227
  if (n.maxHeight && !n.width) {
226
- const $ = parseInt(n.maxHeight) || z;
227
- R = $, c = Math.round($ * N);
228
+ const F = parseInt(n.maxHeight) || z;
229
+ R = F, c = Math.round(F * C);
228
230
  } else if (n.maxWidth && !n.height) {
229
- const $ = parseInt(n.maxWidth) || z;
230
- c = $, R = Math.round($ / N);
231
- } else n.width === "100%" ? (c = 0, R = 0) : he ? (c = z, R = Math.round(z / N)) : (R = z, c = Math.round(z * N));
232
- W = c === 0 ? { width: "100%", aspectRatio: `${N}`, display: "block" } : {
231
+ const F = parseInt(n.maxWidth) || z;
232
+ c = F, R = Math.round(F / C);
233
+ } else n.width === "100%" ? (c = 0, R = 0) : ve ? (c = z, R = Math.round(z / C)) : (R = z, c = Math.round(z * C));
234
+ W = c === 0 ? { width: "100%", aspectRatio: `${C}`, display: "block" } : {
233
235
  // Fit the container: the frame keeps its aspect ratio but never exceeds the
234
236
  // parent (a fixed 373x280 block overflowed a 276px column, hds#522).
235
237
  width: c,
@@ -279,19 +281,19 @@ function Qe({
279
281
  }
280
282
  );
281
283
  }
282
- const B = "[font-family:var(--semantic-typography-mono-font-family)] [font-size:var(--semantic-typography-mono-font-size)] [font-weight:var(--semantic-typography-mono-font-weight)] [letter-spacing:var(--semantic-typography-mono-letter-spacing)] [line-height:var(--semantic-typography-mono-line-height)] max-w-[var(--semantic-typography-mono-max-width)]", U = /* @__PURE__ */ x(
284
+ const P = "[font-family:var(--semantic-typography-mono-font-family)] [font-size:var(--semantic-typography-mono-font-size)] [font-weight:var(--semantic-typography-mono-font-weight)] [letter-spacing:var(--semantic-typography-mono-letter-spacing)] [line-height:var(--semantic-typography-mono-line-height)] max-w-[var(--semantic-typography-mono-max-width)]", q = /* @__PURE__ */ x(
283
285
  "overflow-hidden rounded-[var(--semantic-radius-action)] border border-solid border-[var(--semantic-color-border-default)] bg-[var(--semantic-color-surface-raised)]"
284
- ), Ce = /* @__PURE__ */ x(
286
+ ), Te = /* @__PURE__ */ x(
285
287
  "flex w-full min-w-0 min-h-[var(--semantic-size-control-lg)] items-center justify-between gap-[var(--semantic-space-subgrid-gap)] overflow-hidden rounded-[var(--semantic-radius-action)] border border-solid border-[var(--semantic-color-border-default)] bg-[var(--semantic-color-surface-raised)] py-[var(--semantic-space-subgrid-gap)] pl-[var(--semantic-space-scale-xs)] pr-[var(--semantic-space-subgrid-gap)]"
286
- ), Ie = /* @__PURE__ */ x(
288
+ ), Ee = /* @__PURE__ */ x(
287
289
  "flex items-center justify-between border-b border-solid border-[var(--semantic-color-border-default)] py-[var(--semantic-space-subgrid-gap)] pl-[var(--semantic-space-surface-padding)] pr-[var(--semantic-space-subgrid-gap)]"
288
- ), J = /* @__PURE__ */ x(
290
+ ), Q = /* @__PURE__ */ x(
289
291
  "flex items-center gap-[var(--semantic-space-scale-xs)]"
290
- ), Te = /* @__PURE__ */ x(
291
- `flex w-full cursor-pointer items-center justify-between border-0 bg-transparent px-[var(--semantic-space-surface-padding)] py-[var(--semantic-space-scale-xs)] text-[var(--semantic-color-content-primary)] ${B}`
292
- ), Ee = /* @__PURE__ */ x(
293
- "border-t border-solid border-[var(--semantic-color-border-default)]"
294
292
  ), Ae = /* @__PURE__ */ x(
293
+ `flex w-full cursor-pointer items-center justify-between border-0 bg-transparent px-[var(--semantic-space-surface-padding)] py-[var(--semantic-space-scale-xs)] text-[var(--semantic-color-content-primary)] ${P}`
294
+ ), _e = /* @__PURE__ */ x(
295
+ "border-t border-solid border-[var(--semantic-color-border-default)]"
296
+ ), je = /* @__PURE__ */ x(
295
297
  "inline-flex transition-transform duration-[var(--hds-motion-productive-duration)] ease",
296
298
  {
297
299
  variants: {
@@ -302,7 +304,7 @@ const B = "[font-family:var(--semantic-typography-mono-font-family)] [font-size:
302
304
  },
303
305
  defaultVariants: { expanded: !1 }
304
306
  }
305
- ), q = /* @__PURE__ */ x(
307
+ ), ee = /* @__PURE__ */ x(
306
308
  "hds-touch-target flex cursor-pointer items-center gap-[var(--semantic-space-subgrid-gap)]",
307
309
  {
308
310
  variants: {
@@ -313,8 +315,8 @@ const B = "[font-family:var(--semantic-typography-mono-font-family)] [font-size:
313
315
  },
314
316
  defaultVariants: { variant: "block" }
315
317
  }
316
- ), _e = /* @__PURE__ */ x(
317
- `block min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap not-italic text-[var(--semantic-color-content-primary)] ${B}`,
318
+ ), Re = /* @__PURE__ */ x(
319
+ `block min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap not-italic text-[var(--semantic-color-content-primary)] ${P}`,
318
320
  {
319
321
  variants: {
320
322
  truncateFromStart: {
@@ -324,9 +326,9 @@ const B = "[font-family:var(--semantic-typography-mono-font-family)] [font-size:
324
326
  },
325
327
  defaultVariants: { truncateFromStart: !1 }
326
328
  }
327
- ), Q = /* @__PURE__ */ x(
328
- `whitespace-pre text-[var(--semantic-color-content-primary)] ${B}`
329
- ), ee = /* @__PURE__ */ x(
329
+ ), te = /* @__PURE__ */ x(
330
+ `whitespace-pre text-[var(--semantic-color-content-primary)] ${P}`
331
+ ), ae = /* @__PURE__ */ x(
330
332
  // 16px inset (scale-sm), not section-stack (80px): a 2-line snippet was 188px tall (hds#522).
331
333
  "m-0 overflow-x-auto p-[var(--semantic-space-scale-sm)] pr-[calc(var(--semantic-space-scale-sm)_+_var(--semantic-size-control-lg))]",
332
334
  {
@@ -339,7 +341,7 @@ const B = "[font-family:var(--semantic-typography-mono-font-family)] [font-size:
339
341
  defaultVariants: { panelBackground: !1 }
340
342
  }
341
343
  );
342
- function et({
344
+ function at({
343
345
  code: r,
344
346
  variant: t = "block",
345
347
  truncateFromStart: i = !1,
@@ -349,11 +351,11 @@ function et({
349
351
  defaultExpanded: u = !1,
350
352
  className: d
351
353
  }) {
352
- const [p, o] = I(!1), [y, v] = I(u), w = xe(), k = Y(null), T = Y(null);
354
+ const [p, o] = I(!1), [y, v] = I(u), w = ke(), k = O(null), T = O(null);
353
355
  function E() {
354
- var F, D;
355
- const j = !y;
356
- !j && ((F = T.current) != null && F.contains(document.activeElement)) && ((D = k.current) == null || D.focus()), v(j);
356
+ var B, j;
357
+ const V = !y;
358
+ !V && ((B = T.current) != null && B.contains(document.activeElement)) && ((j = k.current) == null || j.focus()), v(V);
357
359
  }
358
360
  function g() {
359
361
  navigator.clipboard.writeText(r).then(() => {
@@ -361,23 +363,23 @@ function et({
361
363
  });
362
364
  }
363
365
  if (t === "inline")
364
- return /* @__PURE__ */ l("div", { className: b(Ce(), d), children: [
365
- /* @__PURE__ */ a("code", { className: _e({ truncateFromStart: i }), children: p ? "Copied" : r }),
366
+ return /* @__PURE__ */ l("div", { className: b(Te(), d), children: [
367
+ /* @__PURE__ */ a("code", { className: Re({ truncateFromStart: i }), children: p ? "Copied" : r }),
366
368
  /* @__PURE__ */ a(
367
369
  "button",
368
370
  {
369
371
  onClick: g,
370
372
  "aria-label": p ? "Copied" : "Copy code",
371
- className: b("hds-focus", q({ variant: "inline" })),
372
- children: p ? /* @__PURE__ */ a(H, { icon: O, size: "small", color: "var(--semantic-color-content-primary)" }) : /* @__PURE__ */ a(H, { icon: X, size: "small", color: "var(--semantic-color-content-primary)" })
373
+ className: b("hds-focus", ee({ variant: "inline" })),
374
+ children: p ? /* @__PURE__ */ a(D, { icon: G, size: "small", color: "var(--semantic-color-content-primary)" }) : /* @__PURE__ */ a(D, { icon: K, size: "small", color: "var(--semantic-color-content-primary)" })
373
375
  }
374
376
  )
375
377
  ] });
376
- const A = e || n ? /* @__PURE__ */ a("div", { className: Ie(), children: /* @__PURE__ */ l("div", { className: J(), children: [
378
+ const A = e || n ? /* @__PURE__ */ a("div", { className: Ee(), children: /* @__PURE__ */ l("div", { className: Q(), children: [
377
379
  e && /* @__PURE__ */ a(
378
380
  "span",
379
381
  {
380
- className: b(B, "text-[var(--semantic-color-content-primary)]"),
382
+ className: b(P, "text-[var(--semantic-color-content-primary)]"),
381
383
  children: e
382
384
  }
383
385
  ),
@@ -385,7 +387,7 @@ function et({
385
387
  "span",
386
388
  {
387
389
  className: b(
388
- B,
390
+ P,
389
391
  "text-[var(--semantic-color-content-secondary)]"
390
392
  ),
391
393
  children: n.toLowerCase()
@@ -396,23 +398,23 @@ function et({
396
398
  {
397
399
  onClick: g,
398
400
  "aria-label": p ? "Copied" : "Copy code",
399
- className: b("hds-focus", q({ variant: "block" })),
400
- children: p ? /* @__PURE__ */ a(H, { icon: O, size: "small", color: "var(--semantic-color-content-primary)" }) : /* @__PURE__ */ a(H, { icon: X, size: "small", color: "var(--semantic-color-content-primary)" })
401
+ className: b("hds-focus", ee({ variant: "block" })),
402
+ children: p ? /* @__PURE__ */ a(D, { icon: G, size: "small", color: "var(--semantic-color-content-primary)" }) : /* @__PURE__ */ a(D, { icon: K, size: "small", color: "var(--semantic-color-content-primary)" })
401
403
  }
402
- ), C = /* @__PURE__ */ l("div", { className: "relative", children: [
404
+ ), N = /* @__PURE__ */ l("div", { className: "relative", children: [
403
405
  /* @__PURE__ */ a(
404
406
  "pre",
405
407
  {
406
408
  tabIndex: 0,
407
409
  role: "region",
408
410
  "aria-label": "Code sample",
409
- className: ee({ panelBackground: !0 }),
410
- children: /* @__PURE__ */ a("code", { className: Q(), children: te(r, n) })
411
+ className: ae({ panelBackground: !0 }),
412
+ children: /* @__PURE__ */ a("code", { className: te(), children: ne(r, n) })
411
413
  }
412
414
  ),
413
415
  _
414
416
  ] });
415
- return s ? /* @__PURE__ */ l("div", { className: b(U(), d), children: [
417
+ return s ? /* @__PURE__ */ l("div", { className: b(q(), d), children: [
416
418
  /* @__PURE__ */ l(
417
419
  "button",
418
420
  {
@@ -421,21 +423,21 @@ function et({
421
423
  onClick: E,
422
424
  "aria-expanded": y,
423
425
  "aria-controls": w,
424
- className: b("hds-focus", Te()),
426
+ className: b("hds-focus", Ae()),
425
427
  children: [
426
- /* @__PURE__ */ l("span", { className: J(), children: [
428
+ /* @__PURE__ */ l("span", { className: Q(), children: [
427
429
  /* @__PURE__ */ a("span", { children: y ? "Hide code" : "Show code" }),
428
430
  e && // eslint-disable-next-line tailwindcss/no-arbitrary-value -- content-secondary token has no matching Tailwind-theme utility; var()-based so still token-driven
429
431
  /* @__PURE__ */ a("span", { className: "text-[var(--semantic-color-content-secondary)]", children: e }),
430
432
  n && // eslint-disable-next-line tailwindcss/no-arbitrary-value -- content-secondary token has no matching Tailwind-theme utility; var()-based so still token-driven
431
433
  /* @__PURE__ */ a("span", { className: "text-[var(--semantic-color-content-secondary)]", children: n.toLowerCase() })
432
434
  ] }),
433
- /* @__PURE__ */ a("span", { className: Ae({ expanded: y }), children: /* @__PURE__ */ a(H, { icon: we, size: "small", color: "var(--semantic-color-content-secondary)" }) })
435
+ /* @__PURE__ */ a("span", { className: je({ expanded: y }), children: /* @__PURE__ */ a(D, { icon: Se, size: "small", color: "var(--semantic-color-content-secondary)" }) })
434
436
  ]
435
437
  }
436
438
  ),
437
- y && /* @__PURE__ */ a("div", { ref: T, id: w, className: Ee(), children: C })
438
- ] }) : /* @__PURE__ */ l("div", { className: b(U(), d), children: [
439
+ y && /* @__PURE__ */ a("div", { ref: T, id: w, className: _e(), children: N })
440
+ ] }) : /* @__PURE__ */ l("div", { className: b(q(), d), children: [
439
441
  A,
440
442
  /* @__PURE__ */ l("div", { className: "relative", children: [
441
443
  /* @__PURE__ */ a(
@@ -444,15 +446,15 @@ function et({
444
446
  tabIndex: 0,
445
447
  role: "region",
446
448
  "aria-label": "Code sample",
447
- className: ee({ panelBackground: !1 }),
448
- children: /* @__PURE__ */ a("code", { className: Q(), children: te(r, n) })
449
+ className: ae({ panelBackground: !1 }),
450
+ children: /* @__PURE__ */ a("code", { className: te(), children: ne(r, n) })
449
451
  }
450
452
  ),
451
453
  _
452
454
  ] })
453
455
  ] });
454
456
  }
455
- const je = /* @__PURE__ */ new Set([
457
+ const ze = /* @__PURE__ */ new Set([
456
458
  "import",
457
459
  "export",
458
460
  "from",
@@ -500,8 +502,8 @@ const je = /* @__PURE__ */ new Set([
500
502
  "super",
501
503
  "in",
502
504
  "of"
503
- ]), Re = /* @__PURE__ */ new Set(["important", "inherit", "initial", "unset", "auto", "none"]);
504
- function ze(r) {
505
+ ]), Fe = /* @__PURE__ */ new Set(["important", "inherit", "initial", "unset", "auto", "none"]);
506
+ function De(r) {
505
507
  switch (r) {
506
508
  case "keyword":
507
509
  return "text-[var(--semantic-color-content-accent,var(--semantic-color-content-primary))]";
@@ -517,7 +519,7 @@ function ze(r) {
517
519
  return "text-[var(--semantic-color-content-primary)]";
518
520
  }
519
521
  }
520
- function Fe(r) {
522
+ function $e(r) {
521
523
  if (!r) return;
522
524
  const t = r.trim().toLowerCase();
523
525
  if (["ts", "tsx", "typescript", "js", "jsx", "javascript"].includes(t)) return "ts";
@@ -525,7 +527,7 @@ function Fe(r) {
525
527
  if (t === "css") return "css";
526
528
  if (["html", "xml", "svg"].includes(t)) return "html";
527
529
  }
528
- function De(r) {
530
+ function He(r) {
529
531
  const t = [], i = /(\/\/[^\n]*|\/\*[\s\S]*?\*\/)|('(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*"|`(?:\\.|[^`\\])*`)|(\b\d[\d_.eE+-]*\b)|([A-Za-z_$][\w$]*)/g;
530
532
  let n = 0, e;
531
533
  for (; (e = i.exec(r)) !== null; ) {
@@ -534,80 +536,80 @@ function De(r) {
534
536
  else if (e[3]) t.push({ kind: "number", value: e[3] });
535
537
  else if (e[4]) {
536
538
  const s = e[4];
537
- je.has(s) ? t.push({ kind: "keyword", value: s }) : /^[A-Z]/.test(s) ? t.push({ kind: "type", value: s }) : t.push({ kind: "plain", value: s });
539
+ ze.has(s) ? t.push({ kind: "keyword", value: s }) : /^[A-Z]/.test(s) ? t.push({ kind: "type", value: s }) : t.push({ kind: "plain", value: s });
538
540
  }
539
541
  n = i.lastIndex;
540
542
  }
541
543
  return n < r.length && t.push({ kind: "plain", value: r.slice(n) }), t;
542
544
  }
543
- function $e(r) {
545
+ function Pe(r) {
544
546
  const t = [], i = /("(?:\\.|[^"\\])*")(\s*:)?|(\b-?\d[\d.eE+-]*\b)|\b(true|false|null)\b/g;
545
547
  let n = 0, e;
546
548
  for (; (e = i.exec(r)) !== null; )
547
549
  e.index > n && t.push({ kind: "plain", value: r.slice(n, e.index) }), e[1] ? (t.push({ kind: e[2] ? "type" : "string", value: e[1] }), e[2] && t.push({ kind: "plain", value: e[2] })) : e[3] ? t.push({ kind: "number", value: e[3] }) : e[4] && t.push({ kind: "keyword", value: e[4] }), n = i.lastIndex;
548
550
  return n < r.length && t.push({ kind: "plain", value: r.slice(n) }), t;
549
551
  }
550
- function He(r) {
552
+ function Ve(r) {
551
553
  const t = [], i = /(\/\*[\s\S]*?\*\/)|('(?:\\.|[^'\\])*'|"(?:\\.|[^"\\])*")|(--[A-Za-z_-][\w-]*)|(#[0-9a-fA-F]{3,8}\b|\b\d[\d.]*(?:px|rem|em|%|vh|vw|s|ms)?\b)|([A-Za-z_-][\w-]*)/g;
552
554
  let n = 0, e;
553
555
  for (; (e = i.exec(r)) !== null; )
554
556
  e.index > n && t.push({ kind: "plain", value: r.slice(n, e.index) }), e[1] ? t.push({ kind: "comment", value: e[1] }) : e[2] ? t.push({ kind: "string", value: e[2] }) : e[3] ? t.push({ kind: "type", value: e[3] }) : e[4] ? t.push({ kind: "number", value: e[4] }) : e[5] && t.push({
555
- kind: Re.has(e[5].toLowerCase()) ? "keyword" : "plain",
557
+ kind: Fe.has(e[5].toLowerCase()) ? "keyword" : "plain",
556
558
  value: e[5]
557
559
  }), n = i.lastIndex;
558
560
  return n < r.length && t.push({ kind: "plain", value: r.slice(n) }), t;
559
561
  }
560
- function Pe(r) {
562
+ function Be(r) {
561
563
  const t = [], i = /(<!--[\s\S]*?-->)|(<\/?)([A-Za-z][\w-]*)|("(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*')|([A-Za-z_-][\w-]*)(=)/g;
562
564
  let n = 0, e;
563
565
  for (; (e = i.exec(r)) !== null; )
564
566
  e.index > n && t.push({ kind: "plain", value: r.slice(n, e.index) }), e[1] ? t.push({ kind: "comment", value: e[1] }) : e[2] && e[3] ? (t.push({ kind: "plain", value: e[2] }), t.push({ kind: "keyword", value: e[3] })) : e[4] ? t.push({ kind: "string", value: e[4] }) : e[5] && (t.push({ kind: "type", value: e[5] }), t.push({ kind: "plain", value: e[6] })), n = i.lastIndex;
565
567
  return n < r.length && t.push({ kind: "plain", value: r.slice(n) }), t;
566
568
  }
567
- function te(r, t) {
568
- const i = Fe(t);
569
+ function ne(r, t) {
570
+ const i = $e(t);
569
571
  if (!i) return r;
570
572
  let n;
571
573
  try {
572
- if (i === "ts") n = De(r);
573
- else if (i === "json") n = $e(r);
574
- else if (i === "css") n = He(r);
575
- else if (i === "html") n = Pe(r);
574
+ if (i === "ts") n = He(r);
575
+ else if (i === "json") n = Pe(r);
576
+ else if (i === "css") n = Ve(r);
577
+ else if (i === "html") n = Be(r);
576
578
  else return r;
577
579
  } catch {
578
580
  return r;
579
581
  }
580
582
  return n.map(
581
- (e, s) => e.kind === "plain" ? /* @__PURE__ */ a("span", { children: e.value }, s) : /* @__PURE__ */ a("span", { className: ze(e.kind), children: e.value }, s)
583
+ (e, s) => e.kind === "plain" ? /* @__PURE__ */ a("span", { children: e.value }, s) : /* @__PURE__ */ a("span", { className: De(e.kind), children: e.value }, s)
582
584
  );
583
585
  }
584
- const ae = {
586
+ const re = {
585
587
  display: "flex",
586
588
  maxWidth: "100%",
587
589
  alignItems: "center",
588
590
  justifyContent: "center",
589
591
  fontFamily: m.fontFamily
590
592
  };
591
- function tt({
593
+ function nt({
592
594
  displayText: r = "Oops",
593
595
  message: t = "Something went wrong",
594
596
  fullPage: i = !1
595
597
  }) {
596
- const n = re("spatial");
598
+ const n = se("spatial");
597
599
  return /* @__PURE__ */ a(
598
600
  "div",
599
601
  {
600
- style: i ? { ...ae, minHeight: "100vh" } : ae,
602
+ style: i ? { ...re, minHeight: "100vh" } : re,
601
603
  "data-role": "error-recovery",
602
604
  children: /* @__PURE__ */ a(M, { padding: "component", className: "min-w-0 max-w-full", children: /* @__PURE__ */ a(
603
- se.div,
605
+ ce.div,
604
606
  {
605
607
  initial: { opacity: 0, y: 2 },
606
608
  animate: { opacity: 1, y: 0 },
607
609
  transition: { duration: n.duration, ease: n.easing },
608
610
  children: /* @__PURE__ */ l(h, { gap: "normal", style: { alignItems: "center", textAlign: "center" }, children: [
609
611
  /* @__PURE__ */ a(
610
- V,
612
+ H,
611
613
  {
612
614
  variant: "display",
613
615
  as: "h1",
@@ -617,7 +619,7 @@ function tt({
617
619
  }
618
620
  ),
619
621
  /* @__PURE__ */ a(
620
- V,
622
+ H,
621
623
  {
622
624
  variant: "title",
623
625
  as: "p",
@@ -627,7 +629,7 @@ function tt({
627
629
  }
628
630
  ),
629
631
  /* @__PURE__ */ a(
630
- P,
632
+ $,
631
633
  {
632
634
  variant: "primary",
633
635
  onClick: () => {
@@ -642,7 +644,7 @@ function tt({
642
644
  }
643
645
  );
644
646
  }
645
- const at = /* @__PURE__ */ be.forwardRef(function({ children: t, animation: i = "fade-up", className: n, style: e, as: s = "div" }, u) {
647
+ const rt = /* @__PURE__ */ we.forwardRef(function({ children: t, animation: i = "fade-up", className: n, style: e, as: s = "div" }, u) {
646
648
  return /* @__PURE__ */ a(
647
649
  s,
648
650
  {
@@ -655,7 +657,7 @@ const at = /* @__PURE__ */ be.forwardRef(function({ children: t, animation: i =
655
657
  children: t
656
658
  }
657
659
  );
658
- }), nt = /* @__PURE__ */ f.forwardRef(
660
+ }), it = /* @__PURE__ */ f.forwardRef(
659
661
  function({ breadcrumb: t, title: i, status: n, actions: e, level: s = 1, className: u, ...d }, p) {
660
662
  const o = `h${s}`;
661
663
  return /* @__PURE__ */ a(
@@ -688,7 +690,7 @@ const at = /* @__PURE__ */ be.forwardRef(function({ children: t, animation: i =
688
690
  }
689
691
  );
690
692
  }
691
- ), Ve = 4, Be = "var(--semantic-size-tile)", We = " ", rt = /* @__PURE__ */ f.forwardRef(
693
+ ), We = 4, Me = "var(--semantic-size-tile)", Le = " ", st = /* @__PURE__ */ f.forwardRef(
692
694
  function({ label: t, value: i, sub: n, tone: e = "neutral", style: s, ...u }, d) {
693
695
  return /* @__PURE__ */ a(
694
696
  M,
@@ -697,14 +699,14 @@ const at = /* @__PURE__ */ be.forwardRef(function({ children: t, animation: i =
697
699
  padding: "item",
698
700
  "data-hds-component": "MetricTile",
699
701
  "data-tone": e,
700
- style: { minHeight: Be, ...s },
702
+ style: { minHeight: Me, ...s },
701
703
  ...u,
702
704
  children: /* @__PURE__ */ a(
703
- ie.Metric,
705
+ oe.Metric,
704
706
  {
705
707
  label: t,
706
708
  value: i,
707
- sub: n ?? We,
709
+ sub: n ?? Le,
708
710
  tone: e,
709
711
  className: "px-0"
710
712
  }
@@ -713,17 +715,17 @@ const at = /* @__PURE__ */ be.forwardRef(function({ children: t, animation: i =
713
715
  );
714
716
  }
715
717
  );
716
- function oe(r) {
717
- return f.Children.toArray(r).reduce((t, i) => f.isValidElement(i) ? i.type === f.Fragment ? t + oe(i.props.children) : t + 1 : t, 0);
718
+ function le(r) {
719
+ return f.Children.toArray(r).reduce((t, i) => f.isValidElement(i) ? i.type === f.Fragment ? t + le(i.props.children) : t + 1 : t, 0);
718
720
  }
719
- const it = /* @__PURE__ */ f.forwardRef(
721
+ const ot = /* @__PURE__ */ f.forwardRef(
720
722
  function({ children: t, ...i }, n) {
721
- const e = Math.min(Math.max(oe(t), 1), Ve);
722
- return /* @__PURE__ */ a("div", { ref: n, "data-hds-component": "MetricTiles", ...i, children: /* @__PURE__ */ a(ne, { columns: e, gap: "tight", align: "stretch", children: t }) });
723
+ const e = Math.min(Math.max(le(t), 1), We);
724
+ return /* @__PURE__ */ a("div", { ref: n, "data-hds-component": "MetricTiles", ...i, children: /* @__PURE__ */ a(ie, { columns: e, gap: "tight", align: "stretch", children: t }) });
723
725
  }
724
- ), st = /* @__PURE__ */ f.forwardRef(
726
+ ), ct = /* @__PURE__ */ f.forwardRef(
725
727
  function({ primary: t, secondary: i, destructive: n, sticky: e = !1, className: s, style: u, ...d }, p) {
726
- const o = f.isValidElement(t) && t.type === P && t.props.variant === void 0 ? f.cloneElement(t, { variant: "primary" }) : t;
728
+ const o = f.isValidElement(t) && t.type === $ && t.props.variant === void 0 ? f.cloneElement(t, { variant: "primary" }) : t;
727
729
  return /* @__PURE__ */ a(
728
730
  "div",
729
731
  {
@@ -753,7 +755,7 @@ const it = /* @__PURE__ */ f.forwardRef(
753
755
  }
754
756
  );
755
757
  }
756
- ), ot = /* @__PURE__ */ f.forwardRef(function({
758
+ ), lt = /* @__PURE__ */ f.forwardRef(function({
757
759
  title: t,
758
760
  description: i,
759
761
  actionLabel: n,
@@ -772,28 +774,28 @@ const it = /* @__PURE__ */ f.forwardRef(
772
774
  "data-hds-component": "DestructiveSection",
773
775
  "aria-labelledby": v,
774
776
  ...o,
775
- children: /* @__PURE__ */ a(ie, { tone: "danger", children: /* @__PURE__ */ l(h, { direction: "row", wrap: "wrap", gap: "normal", align: "center", justify: "space-between", children: [
777
+ children: /* @__PURE__ */ a(oe, { tone: "danger", children: /* @__PURE__ */ l(h, { direction: "row", wrap: "wrap", gap: "normal", align: "center", justify: "space-between", children: [
776
778
  /* @__PURE__ */ l("div", { "data-slot": "copy", className: "min-w-0 grow basis-64", children: [
777
- /* @__PURE__ */ a(V, { id: v, as: `h${p}`, variant: "title", children: t }),
778
- /* @__PURE__ */ a(V, { as: "p", variant: "caption", className: "text-muted-foreground", children: i })
779
+ /* @__PURE__ */ a(H, { id: v, as: `h${p}`, variant: "title", children: t }),
780
+ /* @__PURE__ */ a(H, { as: "p", variant: "caption", className: "text-muted-foreground", children: i })
779
781
  ] }),
780
782
  /* @__PURE__ */ a("div", { "data-slot": "action", className: "shrink-0", children: /* @__PURE__ */ l(S, { children: [
781
- /* @__PURE__ */ a(S.Trigger, { asChild: !0, children: /* @__PURE__ */ a(P, { variant: "secondary", tone: "danger", children: n ?? e }) }),
783
+ /* @__PURE__ */ a(S.Trigger, { asChild: !0, children: /* @__PURE__ */ a($, { variant: "secondary", tone: "danger", children: n ?? e }) }),
782
784
  /* @__PURE__ */ l(S.Content, { children: [
783
785
  /* @__PURE__ */ l(S.Header, { children: [
784
786
  /* @__PURE__ */ a(S.Title, { children: t }),
785
787
  /* @__PURE__ */ a(S.Description, { children: s })
786
788
  ] }),
787
789
  /* @__PURE__ */ l(S.Footer, { children: [
788
- /* @__PURE__ */ a(S.Cancel, { asChild: !0, children: /* @__PURE__ */ a(P, { variant: "secondary", children: d }) }),
789
- /* @__PURE__ */ a(S.Action, { asChild: !0, children: /* @__PURE__ */ a(P, { variant: "primary", tone: "danger", onClick: u, children: e }) })
790
+ /* @__PURE__ */ a(S.Cancel, { asChild: !0, children: /* @__PURE__ */ a($, { variant: "secondary", children: d }) }),
791
+ /* @__PURE__ */ a(S.Action, { asChild: !0, children: /* @__PURE__ */ a($, { variant: "primary", tone: "danger", onClick: u, children: e }) })
790
792
  ] })
791
793
  ] })
792
794
  ] }) })
793
795
  ] }) })
794
796
  }
795
797
  );
796
- }), Me = "8rem", Le = "6rem", ct = /* @__PURE__ */ f.forwardRef(function({
798
+ }), Ye = "8rem", Ze = "6rem", dt = /* @__PURE__ */ f.forwardRef(function({
797
799
  title: t,
798
800
  toolbar: i,
799
801
  columns: n,
@@ -808,11 +810,11 @@ const it = /* @__PURE__ */ f.forwardRef(
808
810
  key: g.key,
809
811
  cells: [
810
812
  ...g.cells.map((A, _) => {
811
- var C;
813
+ var N;
812
814
  return {
813
815
  slot: "custom",
814
816
  content: A,
815
- align: (C = n[_]) == null ? void 0 : C.align
817
+ align: (N = n[_]) == null ? void 0 : N.align
816
818
  };
817
819
  }),
818
820
  ...w ? [
@@ -823,14 +825,14 @@ const it = /* @__PURE__ */ f.forwardRef(
823
825
  }
824
826
  ] : []
825
827
  ]
826
- })), E = `calc(${n.length} * ${Me}${w ? ` + ${Le}` : ""})`;
828
+ })), E = `calc(${n.length} * ${Ye}${w ? ` + ${Ze}` : ""})`;
827
829
  return /* @__PURE__ */ a("section", { ref: y, "data-hds-component": "DataTableSection", "aria-labelledby": v, ...o, children: /* @__PURE__ */ l(h, { gap: "tight", children: [
828
830
  /* @__PURE__ */ l(h, { direction: "row", wrap: "wrap", gap: "normal", align: "center", justify: "space-between", children: [
829
- /* @__PURE__ */ a(V, { id: v, as: `h${p}`, variant: "title", children: t }),
831
+ /* @__PURE__ */ a(H, { id: v, as: `h${p}`, variant: "title", children: t }),
830
832
  i ? /* @__PURE__ */ a("div", { "data-slot": "toolbar", className: "ml-auto", children: /* @__PURE__ */ a(h, { direction: "row", wrap: "wrap", gap: "tight", align: "center", justify: "end", children: i }) }) : null
831
833
  ] }),
832
- e.length === 0 ? /* @__PURE__ */ a(ge, { title: u, description: d }) : /* @__PURE__ */ a(
833
- ye,
834
+ e.length === 0 ? /* @__PURE__ */ a(be, { title: u, description: d }) : /* @__PURE__ */ a(
835
+ xe,
834
836
  {
835
837
  columns: k,
836
838
  rows: T,
@@ -839,7 +841,7 @@ const it = /* @__PURE__ */ f.forwardRef(
839
841
  }
840
842
  )
841
843
  ] }) });
842
- }), lt = /* @__PURE__ */ f.forwardRef(
844
+ }), pt = /* @__PURE__ */ f.forwardRef(
843
845
  function({ tone: t = "neutral", title: i, notes: n, trailing: e, className: s, ...u }, d) {
844
846
  return /* @__PURE__ */ l(
845
847
  "div",
@@ -864,29 +866,29 @@ const it = /* @__PURE__ */ f.forwardRef(
864
866
  }
865
867
  );
866
868
  export {
867
- Qe as AssetImg,
868
- et as CodeBlock,
869
- ct as DataTableSection,
870
- ot as DestructiveSection,
871
- tt as ErrorPattern,
872
- ut as Form,
873
- st as FormActions,
874
- mt as FormField,
875
- ht as FormFieldShell,
876
- rt as MetricTile,
877
- it as MetricTiles,
878
- qe as Page,
879
- nt as PageHeader,
880
- at as Reveal,
881
- lt as StatusTile,
882
- Q as blockCodeTextVariants,
883
- U as blockContainerVariants,
884
- Ie as blockHeaderVariants,
885
- Ae as chevronVariants,
886
- Te as collapsibleToggleVariants,
887
- q as copyButtonVariants,
888
- _e as inlineCodeTextVariants,
889
- Ce as inlineWrapperVariants,
890
- ee as prePanelVariants,
891
- ft as useFieldWiring
869
+ tt as AssetImg,
870
+ at as CodeBlock,
871
+ dt as DataTableSection,
872
+ lt as DestructiveSection,
873
+ nt as ErrorPattern,
874
+ ht as Form,
875
+ ct as FormActions,
876
+ ft as FormField,
877
+ vt as FormFieldShell,
878
+ st as MetricTile,
879
+ ot as MetricTiles,
880
+ et as Page,
881
+ it as PageHeader,
882
+ rt as Reveal,
883
+ pt as StatusTile,
884
+ te as blockCodeTextVariants,
885
+ q as blockContainerVariants,
886
+ Ee as blockHeaderVariants,
887
+ je as chevronVariants,
888
+ Ae as collapsibleToggleVariants,
889
+ ee as copyButtonVariants,
890
+ Re as inlineCodeTextVariants,
891
+ Te as inlineWrapperVariants,
892
+ ae as prePanelVariants,
893
+ gt as useFieldWiring
892
894
  };