@juwel-development/design-system 3.4.0 → 3.6.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 (38) hide show
  1. package/README.md +28 -0
  2. package/dist/design-system.js +370 -193
  3. package/dist/index.css +1 -1
  4. package/dist/types/Display/Typography/Eyebrow/Eyebrow.d.ts +5 -2
  5. package/dist/types/Display/Typography/H1/H1.d.ts +5 -2
  6. package/dist/types/Display/Typography/H2/H2.d.ts +5 -2
  7. package/dist/types/Display/Typography/H3/H3.d.ts +5 -2
  8. package/dist/types/Display/Typography/H4/H4.d.ts +5 -2
  9. package/dist/types/Display/Typography/H5/H5.d.ts +5 -2
  10. package/dist/types/Display/Typography/H6/H6.d.ts +5 -2
  11. package/dist/types/Display/Typography/Note/Note.d.ts +5 -2
  12. package/dist/types/Display/Typography/P/P.d.ts +5 -2
  13. package/dist/types/Display/Typography/Prose/Prose.d.ts +6 -3
  14. package/dist/types/Layout/Dialog/Dialog.d.ts +104 -0
  15. package/dist/types/Layout/Dialog/DialogCompositionError.d.ts +3 -0
  16. package/dist/types/Layout/Dialog/DialogNamingError.d.ts +3 -0
  17. package/dist/types/Theme/Palette.d.ts +19 -2
  18. package/dist/types/index.d.ts +1 -0
  19. package/package.json +1 -1
  20. package/src/Display/Typography/Eyebrow/Eyebrow.tsx +12 -2
  21. package/src/Display/Typography/H1/H1.tsx +12 -2
  22. package/src/Display/Typography/H2/H2.tsx +12 -2
  23. package/src/Display/Typography/H3/H3.tsx +12 -2
  24. package/src/Display/Typography/H4/H4.tsx +12 -2
  25. package/src/Display/Typography/H5/H5.tsx +12 -2
  26. package/src/Display/Typography/H6/H6.tsx +12 -2
  27. package/src/Display/Typography/Note/Note.tsx +12 -2
  28. package/src/Display/Typography/P/P.tsx +12 -2
  29. package/src/Display/Typography/Prose/Prose.tsx +13 -3
  30. package/src/Layout/Dialog/Dialog.tsx +478 -0
  31. package/src/Layout/Dialog/DialogCompositionError.ts +6 -0
  32. package/src/Layout/Dialog/DialogNamingError.ts +8 -0
  33. package/src/Theme/Palette.ts +27 -5
  34. package/src/Theme/renderTokens.ts +31 -3
  35. package/src/index.ts +1 -0
  36. package/src/tokens.css +23 -3
  37. package/src/tokens.dark.css +19 -0
  38. package/src/tokens.light.css +22 -3
@@ -1,35 +1,35 @@
1
1
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import { Children as n, createContext as r, isValidElement as i, useContext as a, useEffect as o, useId as s, useRef as c } from "react";
2
+ import { Children as n, createContext as r, isValidElement as i, useCallback as a, useContext as o, useEffect as s, useId as c, useRef as l, useState as u } from "react";
3
3
  import './index.css';//#region node_modules/clsx/dist/clsx.mjs
4
- function l(e) {
4
+ function d(e) {
5
5
  var t, n, r = "";
6
6
  if (typeof e == "string" || typeof e == "number") r += e;
7
7
  else if (typeof e == "object") {
8
8
  if (Array.isArray(e)) {
9
9
  var i = e.length;
10
- for (t = 0; t < i; t++) e[t] && (n = l(e[t])) && (r && (r += " "), r += n);
10
+ for (t = 0; t < i; t++) e[t] && (n = d(e[t])) && (r && (r += " "), r += n);
11
11
  } else for (n in e) e[n] && (r && (r += " "), r += n);
12
12
  }
13
13
  return r;
14
14
  }
15
- function u() {
16
- for (var e, t, n = 0, r = "", i = arguments.length; n < i; n++) (e = arguments[n]) && (t = l(e)) && (r && (r += " "), r += t);
15
+ function f() {
16
+ for (var e, t, n = 0, r = "", i = arguments.length; n < i; n++) (e = arguments[n]) && (t = d(e)) && (r && (r += " "), r += t);
17
17
  return r;
18
18
  }
19
19
  //#endregion
20
20
  //#region node_modules/class-variance-authority/dist/index.mjs
21
- var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e, t) => (n) => {
22
- if (t?.variants == null) return f(e, n?.class, n?.className);
21
+ var p = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, m = f, h = (e, t) => (n) => {
22
+ if (t?.variants == null) return m(e, n?.class, n?.className);
23
23
  let { variants: r, defaultVariants: i } = t, a = Object.keys(r).map((e) => {
24
24
  let t = n?.[e], a = i?.[e];
25
25
  if (t === null) return null;
26
- let o = d(t) || d(a);
26
+ let o = p(t) || p(a);
27
27
  return r[e][o];
28
28
  }), o = n && Object.entries(n).reduce((e, t) => {
29
29
  let [n, r] = t;
30
30
  return r === void 0 || (e[n] = r), e;
31
31
  }, {});
32
- return f(e, a, t?.compoundVariants?.reduce((e, t) => {
32
+ return m(e, a, t?.compoundVariants?.reduce((e, t) => {
33
33
  let { class: n, className: r, ...a } = t;
34
34
  return Object.entries(a).every((e) => {
35
35
  let [t, n] = e;
@@ -46,7 +46,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
46
46
  r
47
47
  ] : e;
48
48
  }, []), n?.class, n?.className);
49
- }, m = p("flex flex-wrap items-baseline gap-y-[var(--space-stack)]", {
49
+ }, g = h("flex flex-wrap items-baseline gap-y-[var(--space-stack)]", {
50
50
  variants: {
51
51
  gap: {
52
52
  stack: "gap-x-[var(--space-stack)]",
@@ -61,14 +61,14 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
61
61
  gap: "region",
62
62
  justify: "start"
63
63
  }
64
- }), h = ({ gap: t, justify: n, children: r, testId: i }) => /* @__PURE__ */ e("div", {
65
- className: m({
64
+ }), _ = ({ gap: t, justify: n, children: r, testId: i }) => /* @__PURE__ */ e("div", {
65
+ className: g({
66
66
  gap: t,
67
67
  justify: n
68
68
  }),
69
69
  "data-testid": i,
70
70
  children: r
71
- }), g = p("flex", {
71
+ }), v = h("flex", {
72
72
  variants: {
73
73
  gap: {
74
74
  stack: "gap-[var(--space-stack)]",
@@ -93,8 +93,8 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
93
93
  measure: !1,
94
94
  direction: "column"
95
95
  }
96
- }), _ = ({ gap: t, measure: n, direction: r, align: i, children: a, testId: o }) => /* @__PURE__ */ e("div", {
97
- className: g({
96
+ }), y = ({ gap: t, measure: n, direction: r, align: i, children: a, testId: o }) => /* @__PURE__ */ e("div", {
97
+ className: v({
98
98
  gap: t,
99
99
  measure: n,
100
100
  direction: r,
@@ -102,73 +102,73 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
102
102
  }),
103
103
  "data-testid": o,
104
104
  children: a
105
- }), v = p("inline-flex", { variants: { cut: {
105
+ }), b = h("inline-flex", { variants: { cut: {
106
106
  full: "",
107
107
  compact: ""
108
- } } }), y = ({ name: t, cut: n, children: r, testId: i }) => t === "" ? /* @__PURE__ */ e("span", {
108
+ } } }), x = ({ name: t, cut: n, children: r, testId: i }) => t === "" ? /* @__PURE__ */ e("span", {
109
109
  "aria-hidden": "true",
110
110
  "data-cut": n,
111
- className: v({ cut: n }),
111
+ className: b({ cut: n }),
112
112
  "data-testid": i,
113
113
  children: r
114
114
  }) : /* @__PURE__ */ e("span", {
115
115
  role: "img",
116
116
  "aria-label": t,
117
117
  "data-cut": n,
118
- className: v({ cut: n }),
118
+ className: b({ cut: n }),
119
119
  "data-testid": i,
120
120
  children: r
121
- }), b = p("m-0 list-none p-0"), x = p([
121
+ }), S = h("m-0 list-none p-0"), C = h([
122
122
  "flex items-start gap-3 font-primary text-body leading-body text-foreground",
123
123
  "before:mt-[0.35em] before:size-[calc(var(--tick-length)*0.7)] before:shrink-0 before:rotate-45 before:[border-top:var(--tick-thickness)_solid_var(--color-rule)] before:[border-right:var(--tick-thickness)_solid_var(--color-rule)] before:content-['']",
124
124
  "[&:not(:first-child)]:mt-[var(--space-stack)] [&:not(:first-child)]:border-border [&:not(:first-child)]:border-t [&:not(:first-child)]:border-solid [&:not(:first-child)]:pt-[var(--space-stack)]"
125
- ].join(" ")), S = {
125
+ ].join(" ")), w = {
126
126
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("ul", {
127
- className: b(),
127
+ className: S(),
128
128
  role: "list",
129
129
  "data-testid": n,
130
130
  children: t
131
131
  }),
132
132
  Item: ({ children: t }) => /* @__PURE__ */ e("li", {
133
- className: x(),
133
+ className: C(),
134
134
  children: t
135
135
  })
136
- }, C = p("m-0 list-none p-0"), w = p("py-[var(--space-collection-item)] [&+li]:border-t [&+li]:border-solid [&+li]:border-border"), T = {
136
+ }, T = h("m-0 list-none p-0"), ee = h("py-[var(--space-collection-item)] [&+li]:border-t [&+li]:border-solid [&+li]:border-border"), te = {
137
137
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("ul", {
138
- className: C(),
138
+ className: T(),
139
139
  role: "list",
140
140
  "data-testid": n,
141
141
  children: t
142
142
  }),
143
143
  Item: ({ children: t, testId: n }) => /* @__PURE__ */ e("li", {
144
- className: w(),
144
+ className: ee(),
145
145
  "data-testid": n,
146
146
  children: t
147
147
  })
148
- }, ee = p([
148
+ }, ne = h([
149
149
  "grid gap-[var(--space-stack)] py-6",
150
150
  "border-b border-solid border-border first:border-t",
151
151
  "lg:grid-cols-[16rem_minmax(0,1fr)] lg:items-baseline lg:gap-x-12",
152
152
  "lg:[&>dt]:col-start-1 lg:[&>dd]:col-start-2 lg:[&>dd]:row-start-1"
153
- ].join(" ")), E = p("font-primary text-subtitle leading-subtitle text-foreground"), te = p("font-primary text-body leading-body text-muted max-w-[var(--measure)]"), ne = {
153
+ ].join(" ")), re = h("font-primary text-subtitle leading-subtitle text-foreground"), ie = h("font-primary text-body leading-body text-muted max-w-[var(--measure)]"), ae = {
154
154
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("dl", {
155
155
  "data-testid": n,
156
156
  children: t
157
157
  }),
158
158
  Item: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
159
- className: ee(),
159
+ className: ne(),
160
160
  "data-testid": n,
161
161
  children: t
162
162
  }),
163
163
  Term: ({ children: t }) => /* @__PURE__ */ e("dt", {
164
- className: E(),
164
+ className: re(),
165
165
  children: t
166
166
  }),
167
167
  Description: ({ children: t }) => /* @__PURE__ */ e("dd", {
168
- className: te(),
168
+ className: ie(),
169
169
  children: t
170
170
  })
171
- }, re = p("block w-full object-cover bg-backing", {
171
+ }, oe = h("block w-full object-cover bg-backing", {
172
172
  variants: {
173
173
  ratio: {
174
174
  portrait: "aspect-portrait",
@@ -185,13 +185,13 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
185
185
  }
186
186
  },
187
187
  defaultVariants: { focus: "center" }
188
- }), ie = ({ src: n, alt: r, width: i, height: a, ratio: o, focus: s, responsive: c, caption: l, overlay: u, priority: d, testId: f }) => {
188
+ }), se = ({ src: n, alt: r, width: i, height: a, ratio: o, focus: s, responsive: c, caption: l, overlay: u, priority: d, testId: f }) => {
189
189
  let p = u != null && typeof u != "boolean", m = /* @__PURE__ */ e("img", {
190
190
  src: n,
191
191
  alt: r,
192
192
  width: i,
193
193
  height: a,
194
- className: re({
194
+ className: oe({
195
195
  ratio: o,
196
196
  focus: s
197
197
  }),
@@ -214,20 +214,20 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
214
214
  children: l
215
215
  })]
216
216
  });
217
- }, D = class extends Error {
217
+ }, E = class extends Error {
218
218
  constructor(e) {
219
219
  super(`Meter configuration is invalid: ${e}`), this.name = "MeterConfigurationError";
220
220
  }
221
- }, ae = p("w-full h-[var(--meter-track-thickness)] bg-meter-track border border-solid border-rule"), oe = p("h-full w-[calc(var(--meter-level)*100%)]", {
221
+ }, ce = h("w-full h-[var(--meter-track-thickness)] bg-meter-track border border-solid border-rule"), le = h("h-full w-[calc(var(--meter-level)*100%)]", {
222
222
  variants: { treatment: {
223
223
  neutral: "bg-meter-fill",
224
224
  depleting: "bg-[color-mix(in_oklab,var(--color-meter-fill)_calc(var(--meter-level)*100%),var(--color-error))]"
225
225
  } },
226
226
  defaultVariants: { treatment: "neutral" }
227
- }), se = ({ value: t, min: n = 0, max: r, treatment: i, label: a, valueText: o, testId: s }) => {
228
- if (!Number.isFinite(t) || !Number.isFinite(n) || !Number.isFinite(r)) throw new D(`value, min and max must be finite numbers (got value=${t}, min=${n}, max=${r})`);
229
- if (n >= r) throw new D(`min must be less than max (got min=${n}, max=${r})`);
230
- if (t < n || t > r) throw new D(`value must lie within [min, max] (got value=${t}, min=${n}, max=${r})`);
227
+ }), ue = ({ value: t, min: n = 0, max: r, treatment: i, label: a, valueText: o, testId: s }) => {
228
+ if (!Number.isFinite(t) || !Number.isFinite(n) || !Number.isFinite(r)) throw new E(`value, min and max must be finite numbers (got value=${t}, min=${n}, max=${r})`);
229
+ if (n >= r) throw new E(`min must be less than max (got min=${n}, max=${r})`);
230
+ if (t < n || t > r) throw new E(`value must lie within [min, max] (got value=${t}, min=${n}, max=${r})`);
231
231
  let c = { "--meter-level": (t - n) / (r - n) };
232
232
  return /* @__PURE__ */ e("div", {
233
233
  role: "meter",
@@ -237,28 +237,28 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
237
237
  "aria-label": a,
238
238
  "aria-valuetext": o,
239
239
  "data-testid": s,
240
- className: ae(),
240
+ className: ce(),
241
241
  style: c,
242
242
  children: /* @__PURE__ */ e("div", {
243
243
  "aria-hidden": "true",
244
- className: oe({ treatment: i })
244
+ className: le({ treatment: i })
245
245
  })
246
246
  });
247
- }, ce = p(["grid gap-[var(--space-stack)]", "lg:grid-cols-[10rem_minmax(0,1fr)] lg:items-start lg:gap-x-12"].join(" ")), le = p("lg:sticky lg:top-6"), ue = p("block border-b border-solid border-border pb-1 font-secondary text-label tracking-label text-muted"), O = p("block pt-1 font-secondary text-label tracking-label text-foreground"), k = {
247
+ }, de = h(["grid gap-[var(--space-stack)]", "lg:grid-cols-[10rem_minmax(0,1fr)] lg:items-start lg:gap-x-12"].join(" ")), fe = h("lg:sticky lg:top-6"), pe = h("block border-b border-solid border-border pb-1 font-secondary text-label tracking-label text-muted"), me = h("block pt-1 font-secondary text-label tracking-label text-foreground"), he = {
248
248
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
249
- className: ce(),
249
+ className: de(),
250
250
  "data-testid": n,
251
251
  children: t
252
252
  }),
253
253
  Index: ({ number: n, children: r, testId: i }) => /* @__PURE__ */ t("div", {
254
- className: le(),
254
+ className: fe(),
255
255
  "data-testid": i,
256
256
  "aria-hidden": "true",
257
257
  children: [n !== void 0 && /* @__PURE__ */ e("span", {
258
- className: ue(),
258
+ className: pe(),
259
259
  children: n
260
260
  }), /* @__PURE__ */ e("span", {
261
- className: O(),
261
+ className: me(),
262
262
  children: r
263
263
  })]
264
264
  }),
@@ -266,7 +266,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
266
266
  "data-testid": n,
267
267
  children: t
268
268
  })
269
- }, A = p([
269
+ }, D = h([
270
270
  "[&:not([data-notes])]:overflow-x-auto",
271
271
  "[&>table]:w-full [&>table]:border-collapse [&>table]:text-left",
272
272
  "[&_caption]:pb-3 [&_caption]:text-left [&_caption]:font-secondary [&_caption]:text-label [&_caption]:tracking-label [&_caption]:text-muted",
@@ -275,7 +275,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
275
275
  "[&[data-notes=content]>table]:max-md:block",
276
276
  "[&[data-notes=content]_thead]:max-md:block [&[data-notes=content]_tbody]:max-md:block [&[data-notes=content]_tfoot]:max-md:block",
277
277
  "[&[data-notes=content]_tr]:max-md:block [&[data-notes=content]_td]:max-md:block [&[data-notes=content]_th]:max-md:block"
278
- ].join(" ")), j = p("border-t border-solid border-border"), M = p("px-4 py-2 text-small first:pl-0 last:pr-0", {
278
+ ].join(" ")), O = h("border-t border-solid border-border"), k = h("px-4 py-2 text-small first:pl-0 last:pr-0", {
279
279
  variants: {
280
280
  variant: {
281
281
  value: "font-primary text-foreground tabular-nums",
@@ -291,24 +291,24 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
291
291
  variant: "value",
292
292
  align: "left"
293
293
  }
294
- }), N = p("px-4 py-2 font-secondary font-medium text-label text-muted tracking-label first:pl-0 last:pr-0", {
294
+ }), A = h("px-4 py-2 font-secondary font-medium text-label text-muted tracking-label first:pl-0 last:pr-0", {
295
295
  variants: { align: {
296
296
  left: "text-left",
297
297
  right: "text-right",
298
298
  center: "text-center"
299
299
  } },
300
300
  defaultVariants: { align: "left" }
301
- }), P = {
301
+ }), j = {
302
302
  Root: ({ caption: n, notes: r, children: i, testId: a }) => {
303
303
  let o = /* @__PURE__ */ t("table", { children: [/* @__PURE__ */ e("caption", { children: n }), i] });
304
304
  return r === void 0 ? /* @__PURE__ */ e("section", {
305
- className: A(),
305
+ className: D(),
306
306
  "data-testid": a,
307
307
  "aria-label": n,
308
308
  tabIndex: 0,
309
309
  children: o
310
310
  }) : /* @__PURE__ */ e("div", {
311
- className: A(),
311
+ className: D(),
312
312
  "data-notes": r,
313
313
  "data-testid": a,
314
314
  children: o
@@ -318,162 +318,202 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
318
318
  Body: ({ children: t }) => /* @__PURE__ */ e("tbody", { children: t }),
319
319
  Footer: ({ children: t }) => /* @__PURE__ */ e("tfoot", { children: t }),
320
320
  Row: ({ children: t, testId: n }) => /* @__PURE__ */ e("tr", {
321
- className: j(),
321
+ className: O(),
322
322
  "data-testid": n,
323
323
  children: t
324
324
  }),
325
325
  HeaderCell: ({ scope: t, align: n, children: r }) => /* @__PURE__ */ e("th", {
326
326
  scope: t,
327
- className: N({ align: n }),
327
+ className: A({ align: n }),
328
328
  children: r
329
329
  }),
330
330
  Cell: ({ variant: t, align: n, children: r }) => /* @__PURE__ */ e("td", {
331
- className: M({
331
+ className: k({
332
332
  variant: t,
333
333
  align: n
334
334
  }),
335
335
  "data-variant": t ?? "value",
336
336
  children: r
337
337
  })
338
- }, F = p("font-secondary text-label tracking-label font-medium", {
338
+ }, M = h("font-secondary text-label tracking-label font-medium", {
339
339
  variants: { color: {
340
340
  foreground: "text-foreground",
341
- muted: "text-muted"
341
+ muted: "text-muted",
342
+ success: "text-success",
343
+ warning: "text-warning",
344
+ error: "text-error",
345
+ info: "text-info"
342
346
  } },
343
347
  defaultVariants: { color: "muted" }
344
- }), I = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
345
- className: F({ color: n }),
348
+ }), N = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
349
+ className: M({ color: n }),
346
350
  "data-testid": r,
347
351
  children: t
348
- }), L = p("font-primary text-display leading-display tracking-optical max-w-[var(--measure-display)]", {
352
+ }), P = h("font-primary text-display leading-display tracking-optical max-w-[var(--measure-display)]", {
349
353
  variants: { color: {
350
354
  foreground: "text-foreground",
351
- muted: "text-muted"
355
+ muted: "text-muted",
356
+ success: "text-success",
357
+ warning: "text-warning",
358
+ error: "text-error",
359
+ info: "text-info"
352
360
  } },
353
361
  defaultVariants: { color: "foreground" }
354
- }), R = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h1", {
355
- className: L({ color: n }),
362
+ }), F = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h1", {
363
+ className: P({ color: n }),
356
364
  "data-testid": r,
357
365
  children: t
358
- }), z = p("font-primary text-title leading-title tracking-optical", {
366
+ }), I = h("font-primary text-title leading-title tracking-optical", {
359
367
  variants: { color: {
360
368
  foreground: "text-foreground",
361
- muted: "text-muted"
369
+ muted: "text-muted",
370
+ success: "text-success",
371
+ warning: "text-warning",
372
+ error: "text-error",
373
+ info: "text-info"
362
374
  } },
363
375
  defaultVariants: { color: "foreground" }
364
- }), B = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h2", {
365
- className: z({ color: n }),
376
+ }), L = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h2", {
377
+ className: I({ color: n }),
366
378
  "data-testid": r,
367
379
  children: t
368
- }), V = p("font-primary text-subtitle leading-subtitle", {
380
+ }), R = h("font-primary text-subtitle leading-subtitle", {
369
381
  variants: { color: {
370
382
  foreground: "text-foreground",
371
- muted: "text-muted"
383
+ muted: "text-muted",
384
+ success: "text-success",
385
+ warning: "text-warning",
386
+ error: "text-error",
387
+ info: "text-info"
372
388
  } },
373
389
  defaultVariants: { color: "foreground" }
374
- }), H = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h3", {
375
- className: V({ color: n }),
390
+ }), ge = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h3", {
391
+ className: R({ color: n }),
376
392
  "data-testid": r,
377
393
  children: t
378
- }), U = p("font-primary text-body leading-body font-bold", {
394
+ }), _e = h("font-primary text-body leading-body font-bold", {
379
395
  variants: { color: {
380
396
  foreground: "text-foreground",
381
- muted: "text-muted"
397
+ muted: "text-muted",
398
+ success: "text-success",
399
+ warning: "text-warning",
400
+ error: "text-error",
401
+ info: "text-info"
382
402
  } },
383
403
  defaultVariants: { color: "foreground" }
384
- }), de = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h4", {
385
- className: U({ color: n }),
404
+ }), ve = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h4", {
405
+ className: _e({ color: n }),
386
406
  "data-testid": r,
387
407
  children: t
388
- }), fe = p("font-primary text-body leading-body font-semibold", {
408
+ }), ye = h("font-primary text-body leading-body font-semibold", {
389
409
  variants: { color: {
390
410
  foreground: "text-foreground",
391
- muted: "text-muted"
411
+ muted: "text-muted",
412
+ success: "text-success",
413
+ warning: "text-warning",
414
+ error: "text-error",
415
+ info: "text-info"
392
416
  } },
393
417
  defaultVariants: { color: "foreground" }
394
- }), pe = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h5", {
395
- className: fe({ color: n }),
418
+ }), be = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h5", {
419
+ className: ye({ color: n }),
396
420
  "data-testid": r,
397
421
  children: t
398
- }), me = p("font-primary text-body leading-body font-medium", {
422
+ }), xe = h("font-primary text-body leading-body font-medium", {
399
423
  variants: { color: {
400
424
  foreground: "text-foreground",
401
- muted: "text-muted"
425
+ muted: "text-muted",
426
+ success: "text-success",
427
+ warning: "text-warning",
428
+ error: "text-error",
429
+ info: "text-info"
402
430
  } },
403
431
  defaultVariants: { color: "foreground" }
404
- }), he = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h6", {
405
- className: me({ color: n }),
432
+ }), Se = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h6", {
433
+ className: xe({ color: n }),
406
434
  "data-testid": r,
407
435
  children: t
408
- }), ge = p("font-secondary text-small", {
436
+ }), Ce = h("font-secondary text-small", {
409
437
  variants: { color: {
410
438
  foreground: "text-foreground",
411
- muted: "text-muted"
439
+ muted: "text-muted",
440
+ success: "text-success",
441
+ warning: "text-warning",
442
+ error: "text-error",
443
+ info: "text-info"
412
444
  } },
413
445
  defaultVariants: { color: "foreground" }
414
- }), _e = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
415
- className: ge({ color: n }),
446
+ }), we = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
447
+ className: Ce({ color: n }),
416
448
  "data-testid": r,
417
449
  children: t
418
- }), ve = p("font-primary text-body leading-body", {
450
+ }), Te = h("font-primary text-body leading-body", {
419
451
  variants: { color: {
420
452
  foreground: "text-foreground",
421
- muted: "text-muted"
453
+ muted: "text-muted",
454
+ success: "text-success",
455
+ warning: "text-warning",
456
+ error: "text-error",
457
+ info: "text-info"
422
458
  } },
423
459
  defaultVariants: { color: "foreground" }
424
- }), ye = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
425
- className: ve({ color: n }),
460
+ }), Ee = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
461
+ className: Te({ color: n }),
426
462
  "data-testid": r,
427
463
  children: t
428
- }), be = p("flex max-w-[var(--measure)] flex-col gap-[var(--space-stack)]"), xe = p("font-primary text-lede leading-lede text-foreground"), Se = p("font-primary text-body leading-body", {
464
+ }), De = h("flex max-w-[var(--measure)] flex-col gap-[var(--space-stack)]"), Oe = h("font-primary text-lede leading-lede text-foreground"), ke = h("font-primary text-body leading-body", {
429
465
  variants: { color: {
430
466
  foreground: "text-foreground",
431
- muted: "text-muted"
467
+ muted: "text-muted",
468
+ success: "text-success",
469
+ warning: "text-warning",
470
+ error: "text-error",
471
+ info: "text-info"
432
472
  } },
433
473
  defaultVariants: { color: "foreground" }
434
- }), Ce = p("font-primary text-small text-muted"), we = {
474
+ }), Ae = h("font-primary text-small text-muted"), je = {
435
475
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
436
- className: be(),
476
+ className: De(),
437
477
  "data-testid": n,
438
478
  children: t
439
479
  }),
440
480
  Lede: ({ children: t }) => /* @__PURE__ */ e("p", {
441
- className: xe(),
481
+ className: Oe(),
442
482
  children: t
443
483
  }),
444
484
  Body: ({ color: t, children: n }) => /* @__PURE__ */ e("p", {
445
- className: Se({ color: t }),
485
+ className: ke({ color: t }),
446
486
  children: n
447
487
  }),
448
488
  Tail: ({ children: t }) => /* @__PURE__ */ e("p", {
449
- className: Ce(),
489
+ className: Ae(),
450
490
  children: t
451
491
  })
452
- }, Te = p("font-primary text-body transition-colors duration-[var(--motion-duration-color)] rounded-[var(--radius-control)] py-2 sm:py-2 disabled:bg-disabled disabled:hover:bg-disabled-hover cursor-pointer disabled:cursor-not-allowed select-none text-nowrap inline-flex flex-row items-center justify-center gap-2 outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
492
+ }, Me = h("font-primary text-body transition-colors duration-[var(--motion-duration-color)] rounded-[var(--radius-control)] py-2 sm:py-2 disabled:bg-disabled disabled:hover:bg-disabled-hover cursor-pointer disabled:cursor-not-allowed select-none text-nowrap inline-flex flex-row items-center justify-center gap-2 outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
453
493
  variants: { variant: {
454
494
  primary: "px-4 sm:px-6 min-w-[var(--control-min-width)] bg-primary text-primary-foreground hover:bg-primary-hover",
455
495
  secondary: "px-4 sm:px-6 min-w-[var(--control-min-width)] bg-secondary text-secondary-foreground hover:bg-secondary-hover",
456
496
  ghost: "px-2 min-w-0 bg-transparent text-foreground hover:underline hover:decoration-[length:var(--underline-thickness)] hover:underline-offset-[var(--underline-offset)]"
457
497
  } },
458
498
  defaultVariants: { variant: "primary" }
459
- }), Ee = ({ children: t, disabled: n, testId: r, variant: i, onClick$: a, ariaLabel: o, type: s = "button" }) => /* @__PURE__ */ e("button", {
499
+ }), Ne = ({ children: t, disabled: n, testId: r, variant: i, onClick$: a, ariaLabel: o, type: s = "button" }) => /* @__PURE__ */ e("button", {
460
500
  type: s,
461
501
  "data-testid": r,
462
- className: Te({ variant: i }),
502
+ className: Me({ variant: i }),
463
503
  onClick: () => a?.next(),
464
504
  disabled: n,
465
505
  "aria-label": o,
466
506
  children: t
467
- }), De = p("block w-full rounded-[var(--radius-control)] border border-solid border-control-border bg-transparent px-3 py-2 font-primary text-body text-foreground transition-colors duration-[var(--motion-duration-color)] outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)] [&:user-invalid]:border-error aria-[invalid=true]:border-error disabled:cursor-not-allowed disabled:border-disabled disabled:text-muted", {
507
+ }), Pe = h("block w-full rounded-[var(--radius-control)] border border-solid border-control-border bg-transparent px-3 py-2 font-primary text-body text-foreground transition-colors duration-[var(--motion-duration-color)] outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)] [&:user-invalid]:border-error aria-[invalid=true]:border-error disabled:cursor-not-allowed disabled:border-disabled disabled:text-muted", {
468
508
  variants: { variant: {
469
509
  text: "",
470
510
  email: "",
471
511
  url: ""
472
512
  } },
473
513
  defaultVariants: { variant: "text" }
474
- }), Oe = ({ label: n, name: r, variant: i, required: a, optionalLabel: l, invalid: u, disabled: d, defaultValue: f, placeholder: p, autocomplete: m, hint: h, errorMessage: g, onInput$: _, reset$: v, testId: y }) => {
475
- let b = s(), x = `${b}-control`, S = `${b}-hint`, C = `${b}-error`, w = [h ? S : void 0, u ? C : void 0].filter(Boolean).join(" ") || void 0, T = c(null);
476
- return o(() => {
514
+ }), Fe = ({ label: n, name: r, variant: i, required: a, optionalLabel: o, invalid: u, disabled: d, defaultValue: f, placeholder: p, autocomplete: m, hint: h, errorMessage: g, onInput$: _, reset$: v, testId: y }) => {
515
+ let b = c(), x = `${b}-control`, S = `${b}-hint`, C = `${b}-error`, w = [h ? S : void 0, u ? C : void 0].filter(Boolean).join(" ") || void 0, T = l(null);
516
+ return s(() => {
477
517
  let e = v?.subscribe(() => {
478
518
  T.current && (T.current.value = "");
479
519
  });
@@ -491,7 +531,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
491
531
  id: x,
492
532
  name: r,
493
533
  type: i ?? "text",
494
- className: De({ variant: i }),
534
+ className: Pe({ variant: i }),
495
535
  required: a,
496
536
  disabled: d,
497
537
  defaultValue: f,
@@ -502,9 +542,9 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
502
542
  "data-testid": y,
503
543
  onInput: (e) => _?.next(e.currentTarget.value)
504
544
  }),
505
- !a && l && /* @__PURE__ */ e("span", {
545
+ !a && o && /* @__PURE__ */ e("span", {
506
546
  className: "font-secondary text-muted text-small",
507
- children: l
547
+ children: o
508
548
  }),
509
549
  h && /* @__PURE__ */ e("p", {
510
550
  id: S,
@@ -518,7 +558,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
518
558
  })
519
559
  ]
520
560
  });
521
- }, ke = p("outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
561
+ }, Ie = h("outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
522
562
  variants: { treatment: {
523
563
  prose: "text-link underline decoration-[length:var(--underline-thickness)] underline-offset-[var(--underline-offset)] hover:decoration-[length:var(--underline-thickness-hover)]",
524
564
  quiet: "font-secondary text-muted no-underline decoration-[length:var(--underline-thickness)] underline-offset-[var(--underline-offset)] transition-colors duration-[var(--motion-duration-color)] hover:text-foreground hover:underline",
@@ -526,19 +566,19 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
526
566
  graphic: "text-inherit no-underline"
527
567
  } },
528
568
  defaultVariants: { treatment: "prose" }
529
- }), Ae = ({ href: t, children: n, treatment: r, external: i, current: a, testId: o }) => /* @__PURE__ */ e("a", {
569
+ }), Le = ({ href: t, children: n, treatment: r, external: i, current: a, testId: o }) => /* @__PURE__ */ e("a", {
530
570
  href: t,
531
- className: ke({ treatment: r }),
571
+ className: Ie({ treatment: r }),
532
572
  target: i ? "_blank" : void 0,
533
573
  rel: i ? "noopener noreferrer" : void 0,
534
574
  "aria-current": a ? "page" : void 0,
535
575
  "data-testid": o,
536
576
  children: n
537
- }), W = class extends Error {
577
+ }), z = class extends Error {
538
578
  constructor(e) {
539
579
  super(`Slider configuration: ${e}`), this.name = "SliderConfigurationError";
540
580
  }
541
- }, je = p([
581
+ }, Re = h([
542
582
  "block h-[var(--slider-thumb-size)] w-full cursor-pointer appearance-none bg-transparent",
543
583
  "disabled:cursor-not-allowed",
544
584
  "outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]",
@@ -549,19 +589,19 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
549
589
  "[&::-moz-range-track]:h-[var(--slider-track-thickness)] [&::-moz-range-track]:rounded-[var(--radius-control)] [&::-moz-range-track]:bg-control-border",
550
590
  "[&::-moz-range-thumb]:size-[var(--slider-thumb-size)] [&::-moz-range-thumb]:rounded-[var(--radius-control)] [&::-moz-range-thumb]:border-none [&::-moz-range-thumb]:bg-foreground",
551
591
  "[&:disabled::-moz-range-track]:bg-disabled [&:disabled::-moz-range-thumb]:bg-disabled"
552
- ].join(" ")), Me = (e) => {
553
- for (let [t, n] of Object.entries(e)) if (!Number.isFinite(n)) throw new W(`\`${t}\` must be a finite number, got ${n}`);
554
- if (e.min >= e.max) throw new W(`\`min\` (${e.min}) must be below \`max\` (${e.max})`);
555
- if (e.step <= 0) throw new W(`\`step\` (${e.step}) must be positive`);
556
- if (e.value < e.min || e.value > e.max) throw new W(`\`value\` (${e.value}) must lie within [${e.min}, ${e.max}]`);
557
- }, Ne = ({ min: t, max: n, step: r = 1, value: i, onInput$: a, label: o, valueText: s, disabled: c, testId: l }) => (Me({
592
+ ].join(" ")), ze = (e) => {
593
+ for (let [t, n] of Object.entries(e)) if (!Number.isFinite(n)) throw new z(`\`${t}\` must be a finite number, got ${n}`);
594
+ if (e.min >= e.max) throw new z(`\`min\` (${e.min}) must be below \`max\` (${e.max})`);
595
+ if (e.step <= 0) throw new z(`\`step\` (${e.step}) must be positive`);
596
+ if (e.value < e.min || e.value > e.max) throw new z(`\`value\` (${e.value}) must lie within [${e.min}, ${e.max}]`);
597
+ }, Be = ({ min: t, max: n, step: r = 1, value: i, onInput$: a, label: o, valueText: s, disabled: c, testId: l }) => (ze({
558
598
  min: t,
559
599
  max: n,
560
600
  step: r,
561
601
  value: i
562
602
  }), /* @__PURE__ */ e("input", {
563
603
  type: "range",
564
- className: je(),
604
+ className: Re(),
565
605
  min: t,
566
606
  max: n,
567
607
  step: r,
@@ -571,40 +611,40 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
571
611
  "aria-valuetext": s,
572
612
  "data-testid": l,
573
613
  onChange: (e) => a.next(e.currentTarget.valueAsNumber)
574
- })), Pe = class extends Error {
614
+ })), Ve = class extends Error {
575
615
  constructor(e) {
576
616
  super(`Tabs.${e} must be composed inside Tabs.Root`), this.name = "TabsCompositionError";
577
617
  }
578
- }, Fe = p([
618
+ }, He = h([
579
619
  "flex flex-row overflow-x-auto",
580
620
  "p-[calc(var(--focus-ring-width)+var(--focus-ring-offset))]",
581
621
  "m-[calc(-1*(var(--focus-ring-width)+var(--focus-ring-offset)))]",
582
622
  "scroll-p-[calc(var(--focus-ring-width)+var(--focus-ring-offset))]"
583
- ].join(" ")), Ie = p([
623
+ ].join(" ")), Ue = h([
584
624
  "font-secondary text-label tracking-label",
585
625
  "text-muted hover:text-foreground aria-selected:text-foreground",
586
626
  "border-b-[length:var(--tab-marker-thickness)] border-solid border-transparent aria-selected:border-foreground",
587
627
  "shrink-0 cursor-pointer select-none text-nowrap px-[var(--tab-inset-inline)] py-[var(--tab-inset-block)]",
588
628
  "transition-colors duration-[var(--motion-duration-color)]",
589
629
  "outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]"
590
- ].join(" ")), Le = p("outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]"), G = r(void 0), K = (e) => {
591
- let t = a(G);
592
- if (t === void 0) throw new Pe(e);
630
+ ].join(" ")), We = h("outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]"), B = r(void 0), V = (e) => {
631
+ let t = o(B);
632
+ if (t === void 0) throw new Ve(e);
593
633
  return t;
594
- }, q = (e) => e.split("").map((e) => e.charCodeAt(0).toString(16).padStart(4, "0")).join(""), Re = (e) => {
634
+ }, H = (e) => e.split("").map((e) => e.charCodeAt(0).toString(16).padStart(4, "0")).join(""), Ge = (e) => {
595
635
  e.currentTarget.scrollIntoView({
596
636
  block: "nearest",
597
637
  inline: "nearest"
598
638
  });
599
- }, J = (e, t) => `${e}tab-${q(t)}`, Y = (e, t) => `${e}panel-${q(t)}`, ze = (e, t) => {
639
+ }, U = (e, t) => `${e}tab-${H(t)}`, W = (e, t) => `${e}panel-${H(t)}`, Ke = (e, t) => {
600
640
  let n = e.closest("[role=\"tablist\"]");
601
641
  if (n === null) return;
602
642
  let r = Array.from(n.querySelectorAll(":scope > [role=\"tab\"]"));
603
643
  return r[(r.indexOf(e) + t + r.length) % r.length];
604
- }, Be = {
644
+ }, qe = {
605
645
  Root: ({ active: t, onSelect$: n, label: r, children: i, testId: a }) => {
606
- let o = s();
607
- return /* @__PURE__ */ e(G.Provider, {
646
+ let o = c();
647
+ return /* @__PURE__ */ e(B.Provider, {
608
648
  value: {
609
649
  active: t,
610
650
  onSelect$: n,
@@ -618,57 +658,57 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
618
658
  });
619
659
  },
620
660
  List: ({ children: t, testId: n }) => {
621
- let { label: r } = K("List");
661
+ let { label: r } = V("List");
622
662
  return /* @__PURE__ */ e("div", {
623
663
  role: "tablist",
624
664
  "aria-label": r,
625
- className: Fe(),
665
+ className: He(),
626
666
  "data-testid": n,
627
667
  children: t
628
668
  });
629
669
  },
630
670
  Tab: ({ value: t, children: n, testId: r }) => {
631
- let { active: i, onSelect$: a, baseId: o } = K("Tab"), s = i === t;
671
+ let { active: i, onSelect$: a, baseId: o } = V("Tab"), s = i === t;
632
672
  return /* @__PURE__ */ e("button", {
633
673
  type: "button",
634
674
  role: "tab",
635
- id: J(o, t),
675
+ id: U(o, t),
636
676
  "aria-selected": s,
637
- "aria-controls": Y(o, t),
677
+ "aria-controls": W(o, t),
638
678
  tabIndex: s ? 0 : -1,
639
679
  "data-value": t,
640
680
  "data-testid": r,
641
- className: Ie(),
681
+ className: Ue(),
642
682
  onClick: () => a.next(t),
643
683
  onKeyDown: (e) => {
644
684
  if (e.key !== "ArrowLeft" && e.key !== "ArrowRight") return;
645
685
  e.preventDefault();
646
- let t = ze(e.currentTarget, e.key === "ArrowRight" ? 1 : -1);
686
+ let t = Ke(e.currentTarget, e.key === "ArrowRight" ? 1 : -1);
647
687
  if (t === void 0) return;
648
688
  t.focus();
649
689
  let n = t.dataset.value;
650
690
  n !== void 0 && a.next(n);
651
691
  },
652
- onFocus: Re,
692
+ onFocus: Ge,
653
693
  children: n
654
694
  });
655
695
  },
656
696
  Panel: ({ value: t, children: n, testId: r }) => {
657
- let { active: i, baseId: a } = K("Panel"), o = i === t;
697
+ let { active: i, baseId: a } = V("Panel"), o = i === t;
658
698
  return /* @__PURE__ */ e("div", {
659
699
  role: "tabpanel",
660
- id: Y(a, t),
661
- "aria-labelledby": J(a, t),
700
+ id: W(a, t),
701
+ "aria-labelledby": U(a, t),
662
702
  hidden: !o,
663
703
  tabIndex: o ? 0 : void 0,
664
- className: Le(),
704
+ className: We(),
665
705
  "data-testid": r,
666
706
  children: o ? n : void 0
667
707
  });
668
708
  }
669
- }, Ve = p("block min-h-24 w-full rounded-[var(--radius-control)] border border-solid border-control-border bg-transparent px-3 py-2 font-primary text-body text-foreground transition-colors duration-[var(--motion-duration-color)] outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)] [&:user-invalid]:border-error aria-[invalid=true]:border-error disabled:cursor-not-allowed disabled:border-disabled disabled:text-muted"), He = ({ label: n, name: r, required: i, optionalLabel: a, invalid: l, disabled: u, defaultValue: d, placeholder: f, autocomplete: p, hint: m, errorMessage: h, onInput$: g, reset$: _, testId: v }) => {
670
- let y = s(), b = `${y}-control`, x = `${y}-hint`, S = `${y}-error`, C = [m ? x : void 0, l ? S : void 0].filter(Boolean).join(" ") || void 0, w = c(null);
671
- return o(() => {
709
+ }, Je = h("block min-h-24 w-full rounded-[var(--radius-control)] border border-solid border-control-border bg-transparent px-3 py-2 font-primary text-body text-foreground transition-colors duration-[var(--motion-duration-color)] outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)] [&:user-invalid]:border-error aria-[invalid=true]:border-error disabled:cursor-not-allowed disabled:border-disabled disabled:text-muted"), Ye = ({ label: n, name: r, required: i, optionalLabel: a, invalid: o, disabled: u, defaultValue: d, placeholder: f, autocomplete: p, hint: m, errorMessage: h, onInput$: g, reset$: _, testId: v }) => {
710
+ let y = c(), b = `${y}-control`, x = `${y}-hint`, S = `${y}-error`, C = [m ? x : void 0, o ? S : void 0].filter(Boolean).join(" ") || void 0, w = l(null);
711
+ return s(() => {
672
712
  let e = _?.subscribe(() => {
673
713
  w.current && (w.current.value = "");
674
714
  });
@@ -685,13 +725,13 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
685
725
  ref: w,
686
726
  id: b,
687
727
  name: r,
688
- className: Ve(),
728
+ className: Je(),
689
729
  required: i,
690
730
  disabled: u,
691
731
  defaultValue: d,
692
732
  placeholder: f,
693
733
  autoComplete: p,
694
- "aria-invalid": l || void 0,
734
+ "aria-invalid": o || void 0,
695
735
  "aria-describedby": C,
696
736
  "data-testid": v,
697
737
  onInput: (e) => g?.next(e.currentTarget.value)
@@ -705,38 +745,173 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
705
745
  className: "font-secondary text-muted text-small",
706
746
  children: m
707
747
  }),
708
- l && /* @__PURE__ */ e("p", {
748
+ o && /* @__PURE__ */ e("p", {
709
749
  id: S,
710
750
  className: "font-secondary text-error text-small",
711
751
  children: h
712
752
  })
713
753
  ]
714
754
  });
715
- }, Ue = p([
755
+ }, Xe = h([
716
756
  "flex flex-col items-center",
717
757
  "min-h-[var(--cover-height)]",
718
758
  "px-[var(--gutter)] py-[var(--space-region)]"
719
- ].join(" ")), We = "my-auto max-w-full", Ge = ({ children: n, foot: r, testId: i }) => {
759
+ ].join(" ")), Ze = "my-auto max-w-full", Qe = ({ children: n, foot: r, testId: i }) => {
720
760
  let a = r != null && typeof r != "boolean";
721
761
  return /* @__PURE__ */ t("div", {
722
- className: Ue(),
762
+ className: Xe(),
723
763
  "data-testid": i,
724
764
  children: [/* @__PURE__ */ e("div", {
725
- className: We,
765
+ className: Ze,
726
766
  children: n
727
767
  }), a && /* @__PURE__ */ e("div", { children: r })]
728
768
  });
729
- }, Ke = p("font-secondary text-small text-muted py-[var(--space-region)] px-[var(--gutter)]", {
769
+ }, $e = class extends Error {
770
+ constructor(e) {
771
+ super(`Dialog.${e} must be composed inside Dialog.Root`), this.name = "DialogCompositionError";
772
+ }
773
+ }, et = class extends Error {
774
+ constructor() {
775
+ super("A Dialog takes exactly one accessible naming source: a visible Dialog.Title or ariaLabel on Dialog.Root, never both"), this.name = "DialogNamingError";
776
+ }
777
+ }, tt = h([
778
+ "open:flex open:flex-col m-auto p-0 overflow-hidden",
779
+ "bg-surface text-foreground",
780
+ "rounded-[var(--radius-dialog)] shadow-[var(--elevation-floating)]",
781
+ "backdrop:bg-scrim backdrop:[backdrop-filter:blur(var(--scrim-blur))]"
782
+ ].join(" "), {
783
+ variants: { extent: {
784
+ screen: ["w-[calc(100vw-2*var(--gutter))] max-w-none", "h-[calc(100dvh-2*var(--space-region))] max-h-none"].join(" "),
785
+ content: ["w-[32rem] max-w-[calc(100vw-2*var(--gutter))]", "max-h-[calc(100dvh-2*var(--space-region))]"].join(" ")
786
+ } },
787
+ defaultVariants: { extent: "screen" }
788
+ }), nt = h(["px-[var(--space-region)] pt-[var(--space-region)] pb-[var(--space-region)]", "[&:has(+[data-dialog-member=description])]:pb-0"].join(" ")), rt = h(["px-[var(--space-region)] pt-[var(--space-region)] pb-[var(--space-region)]", "[[data-dialog-member=title]+&]:mt-[var(--space-stack)] [[data-dialog-member=title]+&]:pt-0"].join(" ")), it = h([
789
+ "grow shrink min-h-0 overflow-y-auto",
790
+ "px-[var(--space-region)] py-[var(--space-region)]",
791
+ "[&:not(:first-child)]:border-t [&:not(:first-child)]:border-border"
792
+ ].join(" ")), at = h([
793
+ "flex flex-row flex-wrap items-center justify-end gap-[var(--space-stack)] shrink-0",
794
+ "px-[var(--space-region)] pt-[var(--space-region)] pb-[var(--space-region)]",
795
+ "[[data-dialog-member=content]+&]:border-t [[data-dialog-member=content]+&]:border-border"
796
+ ].join(" ")), G = r(void 0), K = (e) => {
797
+ let t = o(G);
798
+ if (t === void 0) throw new $e(e);
799
+ return t;
800
+ }, q = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])", J = (e, { presented: t, opener: n }) => {
801
+ if (e === void 0 || e.open) return;
802
+ let r = document.activeElement;
803
+ n.current = r instanceof HTMLElement && r !== document.body ? r : void 0, e.showModal(), t.current = !0, e.querySelector(q)?.focus();
804
+ }, Y = (e, { presented: t }) => {
805
+ t.current = !1, e?.open && e.close();
806
+ }, ot = {
807
+ Root: ({ children: t, onDismiss$: n, showDialog$: r, extent: i, ariaLabel: o, testId: d }) => {
808
+ let f = c(), p = l(void 0), m = l(!1), h = l(void 0), [g] = u(() => ({
809
+ presented: m,
810
+ opener: h
811
+ })), [_, v] = u({
812
+ title: !1,
813
+ description: !1
814
+ }), y = a((e) => (v((t) => ({
815
+ ...t,
816
+ [e]: !0
817
+ })), () => v((t) => ({
818
+ ...t,
819
+ [e]: !1
820
+ }))), []), b = {
821
+ titleId: `${f}title`,
822
+ descriptionId: `${f}description`,
823
+ isLabelled: o !== void 0,
824
+ registerNamePart: y
825
+ }, x = () => {
826
+ n.next(), r === void 0 ? Y(p.current, g) : r.next(!1);
827
+ };
828
+ return s(() => {
829
+ if (r === void 0) return J(p.current, g), () => Y(p.current, g);
830
+ let e = r.subscribe((e) => {
831
+ e ? J(p.current, g) : Y(p.current, g);
832
+ });
833
+ return () => {
834
+ e.unsubscribe(), Y(p.current, g);
835
+ };
836
+ }, [r, g]), /* @__PURE__ */ e(G.Provider, {
837
+ value: b,
838
+ children: /* @__PURE__ */ e("dialog", {
839
+ ref: (e) => {
840
+ p.current = e ?? void 0, e?.setAttribute("headingreset", "");
841
+ },
842
+ className: tt({ extent: i }),
843
+ "aria-label": o,
844
+ "aria-labelledby": o === void 0 && _.title ? b.titleId : void 0,
845
+ "aria-describedby": _.description ? b.descriptionId : void 0,
846
+ onCancel: x,
847
+ onClick: (e) => {
848
+ let t = p.current;
849
+ if (t === void 0 || e.target !== t || !t.open) return;
850
+ let n = t.getBoundingClientRect();
851
+ e.clientX >= n.left && e.clientX <= n.right && e.clientY >= n.top && e.clientY <= n.bottom || x();
852
+ },
853
+ onClose: () => {
854
+ if (p.current?.open) return;
855
+ let e = m.current;
856
+ m.current = !1;
857
+ let t = h.current;
858
+ h.current = void 0, t?.isConnected && (t.matches(q) || t.hasAttribute("tabindex")) && t.focus(), e && r?.next(!1);
859
+ },
860
+ "data-testid": d,
861
+ children: t
862
+ })
863
+ });
864
+ },
865
+ Title: ({ children: t, testId: n }) => {
866
+ let { titleId: r, isLabelled: i, registerNamePart: a } = K("Title");
867
+ if (s(() => a("title"), [a]), i) throw new et();
868
+ return /* @__PURE__ */ e("div", {
869
+ "data-dialog-member": "title",
870
+ className: nt(),
871
+ "data-testid": n,
872
+ children: /* @__PURE__ */ e("h1", {
873
+ id: r,
874
+ className: "font-primary text-dialog-title leading-dialog-title text-foreground",
875
+ children: t
876
+ })
877
+ });
878
+ },
879
+ Description: ({ children: t, testId: n }) => {
880
+ let { descriptionId: r, registerNamePart: i } = K("Description");
881
+ return s(() => i("description"), [i]), /* @__PURE__ */ e("div", {
882
+ "data-dialog-member": "description",
883
+ className: rt(),
884
+ "data-testid": n,
885
+ children: /* @__PURE__ */ e("p", {
886
+ id: r,
887
+ className: "font-primary text-body leading-body text-foreground",
888
+ children: t
889
+ })
890
+ });
891
+ },
892
+ Content: ({ children: t, testId: n }) => (K("Content"), /* @__PURE__ */ e("div", {
893
+ "data-dialog-member": "content",
894
+ className: it(),
895
+ "data-testid": n,
896
+ children: t
897
+ })),
898
+ Actions: ({ children: t, testId: n }) => (K("Actions"), /* @__PURE__ */ e("div", {
899
+ "data-dialog-member": "actions",
900
+ className: at(),
901
+ "data-testid": n,
902
+ children: t
903
+ }))
904
+ }, st = h("font-secondary text-small text-muted py-[var(--space-region)] px-[var(--gutter)]", {
730
905
  variants: { edge: {
731
906
  none: "",
732
907
  rule: "border-t border-solid border-rule"
733
908
  } },
734
909
  defaultVariants: { edge: "rule" }
735
- }), qe = ({ edge: t, children: n, testId: r }) => /* @__PURE__ */ e("footer", {
736
- className: Ke({ edge: t }),
910
+ }), ct = ({ edge: t, children: n, testId: r }) => /* @__PURE__ */ e("footer", {
911
+ className: st({ edge: t }),
737
912
  "data-testid": r,
738
913
  children: n
739
- }), Je = p("font-secondary text-small", {
914
+ }), lt = h("font-secondary text-small", {
740
915
  variants: { state: {
741
916
  idle: "text-muted",
742
917
  sending: "text-muted",
@@ -744,13 +919,13 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
744
919
  failed: "text-error"
745
920
  } },
746
921
  defaultVariants: { state: "idle" }
747
- }), Ye = {
922
+ }), ut = {
748
923
  sent: "status",
749
924
  failed: "alert"
750
- }, Xe = ({ action: n, method: r = "post", state: i = "idle", children: a, actions: o, note: s, testId: c }) => {
925
+ }, dt = ({ action: n, method: r = "post", state: i = "idle", children: a, actions: o, note: s, testId: c }) => {
751
926
  let l = s != null && typeof s != "boolean";
752
927
  if (i === "sent" && !l) throw Error("Form in the `sent` state must be given a `note` - it is the outcome message.");
753
- let u = i !== "sent", d = Ye[i];
928
+ let u = i !== "sent", d = ut[i];
754
929
  return /* @__PURE__ */ t("form", {
755
930
  action: n,
756
931
  method: r,
@@ -768,12 +943,12 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
768
943
  }),
769
944
  l && /* @__PURE__ */ e("p", {
770
945
  role: d,
771
- className: Je({ state: i }),
946
+ className: lt({ state: i }),
772
947
  children: s
773
948
  })
774
949
  ]
775
950
  });
776
- }, Ze = p([
951
+ }, ft = h([
777
952
  "flex items-baseline justify-between",
778
953
  "font-secondary text-label leading-label tracking-label text-muted",
779
954
  "py-[var(--space-region)] px-[var(--gutter)]",
@@ -784,50 +959,50 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
784
959
  rule: "border-b border-solid border-rule"
785
960
  } },
786
961
  defaultVariants: { edge: "rule" }
787
- }), Qe = [
962
+ }), pt = [
788
963
  "inline-flex shrink-0 items-center",
789
964
  "min-h-[calc(var(--text-label)*var(--leading-label))]",
790
965
  "min-w-[var(--standing-min-width)]"
791
- ].join(" "), $e = ({ edge: n, standing: r, navName: i, children: a, testId: o }) => /* @__PURE__ */ t("header", {
792
- className: Ze({ edge: n }),
966
+ ].join(" "), mt = ({ edge: n, standing: r, navName: i, children: a, testId: o }) => /* @__PURE__ */ t("header", {
967
+ className: ft({ edge: n }),
793
968
  "data-testid": o,
794
969
  children: [/* @__PURE__ */ e("div", {
795
- className: Qe,
970
+ className: pt,
796
971
  children: r
797
972
  }), /* @__PURE__ */ e("nav", {
798
973
  "aria-label": i,
799
974
  className: "flex flex-wrap items-baseline gap-[var(--space-region)]",
800
975
  children: a
801
976
  })]
802
- }), et = p("flex flex-col min-h-[var(--fold-height)] gap-[var(--space-stack)]", {
977
+ }), ht = h("flex flex-col min-h-[var(--fold-height)] gap-[var(--space-stack)]", {
803
978
  variants: { place: {
804
979
  start: "justify-start",
805
980
  center: "justify-center",
806
981
  between: "justify-between"
807
982
  } },
808
983
  defaultVariants: { place: "center" }
809
- }), tt = ({ place: t, children: n, testId: r }) => /* @__PURE__ */ e("div", {
810
- className: et({ place: t }),
984
+ }), gt = ({ place: t, children: n, testId: r }) => /* @__PURE__ */ e("div", {
985
+ className: ht({ place: t }),
811
986
  "data-testid": r,
812
987
  children: n
813
- }), nt = p("flex flex-col gap-[var(--space-stack)] py-[var(--space-band)] px-[var(--gutter)]"), rt = p("font-primary text-title leading-title tracking-optical text-foreground"), it = p("font-primary text-lede leading-lede text-foreground max-w-[var(--measure-wide)]"), X = p("font-primary text-small text-muted max-w-[var(--measure)]"), at = ({ title: n, lede: r, intro: i, testId: a }) => /* @__PURE__ */ t("header", {
814
- className: nt(),
988
+ }), _t = h("flex flex-col gap-[var(--space-stack)] py-[var(--space-band)] px-[var(--gutter)]"), vt = h("font-primary text-title leading-title tracking-optical text-foreground"), yt = h("font-primary text-lede leading-lede text-foreground max-w-[var(--measure-wide)]"), bt = h("font-primary text-small text-muted max-w-[var(--measure)]"), xt = ({ title: n, lede: r, intro: i, testId: a }) => /* @__PURE__ */ t("header", {
989
+ className: _t(),
815
990
  "data-testid": a,
816
991
  children: [
817
992
  /* @__PURE__ */ e("h1", {
818
- className: rt(),
993
+ className: vt(),
819
994
  children: n
820
995
  }),
821
996
  r !== void 0 && /* @__PURE__ */ e("p", {
822
- className: it(),
997
+ className: yt(),
823
998
  children: r
824
999
  }),
825
1000
  i !== void 0 && /* @__PURE__ */ e("p", {
826
- className: X(),
1001
+ className: bt(),
827
1002
  children: i
828
1003
  })
829
1004
  ]
830
- }), ot = p([
1005
+ }), St = h([
831
1006
  "relative",
832
1007
  "py-[var(--space-band)]",
833
1008
  "[[data-section]+&]:border-t [[data-section]+&]:border-solid [[data-section]+&]:border-rule"
@@ -837,20 +1012,20 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
837
1012
  full: ""
838
1013
  } },
839
1014
  defaultVariants: { bleed: "inset" }
840
- }), st = ({ bleed: t, name: n, children: r, testId: i }) => /* @__PURE__ */ e("section", {
1015
+ }), X = ({ bleed: t, name: n, children: r, testId: i }) => /* @__PURE__ */ e("section", {
841
1016
  "data-section": "",
842
- className: ot({ bleed: t }),
1017
+ className: St({ bleed: t }),
843
1018
  "aria-label": n,
844
1019
  "data-testid": i,
845
1020
  children: r
846
- }), ct = p([
1021
+ }), Ct = h([
847
1022
  "grid gap-[var(--space-region)] lg:grid-cols-[12rem_minmax(0,1fr)]",
848
1023
  "[&>div:first-child]:border-solid [&>div:first-child]:border-border [&>div:first-child]:border-b [&>div:first-child]:pb-[var(--space-stack)]",
849
1024
  "lg:[&>div:first-child]:border-b-0 lg:[&>div:first-child]:border-r lg:[&>div:first-child]:pb-0 lg:[&>div:first-child]:pr-[var(--space-stack)]",
850
1025
  "lg:[&>div:first-child>nav]:sticky lg:[&>div:first-child>nav]:top-0 lg:[&>div:first-child>nav]:max-h-[min(100dvh,var(--sidebar-scrollport-height,100dvh))] lg:[&>div:first-child>nav]:overflow-y-auto",
851
1026
  "[&>div:first-child>nav]:p-[calc(var(--focus-ring-width)+var(--focus-ring-offset))] lg:[&>div:first-child>nav]:scroll-p-[calc(var(--focus-ring-width)+var(--focus-ring-offset))]",
852
1027
  "[&>div:first-child>nav>ul]:flex [&>div:first-child>nav>ul]:flex-col [&>div:first-child>nav>ul]:gap-[var(--space-stack)]"
853
- ].join(" ")), lt = (e) => {
1028
+ ].join(" ")), wt = (e) => {
854
1029
  if (!e) return;
855
1030
  let t = [];
856
1031
  for (let n = e.parentElement; n && n !== e.ownerDocument.documentElement; n = n.parentElement) t.push(n);
@@ -864,7 +1039,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
864
1039
  return window.addEventListener("resize", n), () => {
865
1040
  r?.disconnect(), window.removeEventListener("resize", n), e.style.removeProperty("--sidebar-scrollport-height");
866
1041
  };
867
- }, ut = p([
1042
+ }, Tt = h([
868
1043
  "w-full text-left font-secondary text-label tracking-label",
869
1044
  "underline-offset-[var(--underline-offset)]",
870
1045
  "outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]"
@@ -876,29 +1051,29 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
876
1051
  } },
877
1052
  defaultVariants: { state: "usable" }
878
1053
  }), Z = r(void 0), Q = ({ entryKey: t, children: n, inert: r, testId: i }) => {
879
- let o = a(Z), s = o !== void 0 && o.active === t;
1054
+ let a = o(Z), s = a !== void 0 && a.active === t;
880
1055
  return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("button", {
881
1056
  type: "button",
882
- className: ut({ state: r ? "inert" : s ? "active" : "usable" }),
1057
+ className: Tt({ state: r ? "inert" : s ? "active" : "usable" }),
883
1058
  disabled: r,
884
1059
  "aria-current": s ? "true" : void 0,
885
1060
  "data-testid": i,
886
1061
  onClick: () => {
887
- s || o?.onSelect$.next(t);
1062
+ s || a?.onSelect$.next(t);
888
1063
  },
889
1064
  children: n
890
1065
  }) });
891
1066
  }, $ = ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
892
1067
  "data-testid": n,
893
1068
  children: t
894
- }), dt = {
1069
+ }), Et = {
895
1070
  Root: ({ active: r, label: a, onSelect$: o, children: s, testId: c }) => {
896
1071
  let l = n.toArray(s).filter(i);
897
1072
  return /* @__PURE__ */ t("div", {
898
- className: ct(),
1073
+ className: Ct(),
899
1074
  "data-testid": c,
900
1075
  children: [/* @__PURE__ */ e("div", { children: /* @__PURE__ */ e("nav", {
901
- ref: lt,
1076
+ ref: wt,
902
1077
  "aria-label": a,
903
1078
  children: /* @__PURE__ */ e(Z, {
904
1079
  value: {
@@ -912,7 +1087,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
912
1087
  },
913
1088
  Item: Q,
914
1089
  Content: $
915
- }, ft = {
1090
+ }, Dt = {
916
1091
  surface: "#ffffff",
917
1092
  foreground: "#0f172a",
918
1093
  muted: "#64748b",
@@ -920,6 +1095,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
920
1095
  controlBorder: "#64748b",
921
1096
  rule: "#808fa3",
922
1097
  backing: "#f1f5f9",
1098
+ scrim: "rgb(15 23 42 / 0.5)",
923
1099
  meterFill: "#0f172a",
924
1100
  meterTrack: "#e2e8f0",
925
1101
  primary: "#7c3aed",
@@ -932,11 +1108,11 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
932
1108
  disabledHover: "#64748b",
933
1109
  focusRing: "#475569",
934
1110
  link: "#2563eb",
935
- success: "#10b981",
936
- warning: "#f59e0b",
1111
+ success: "#047857",
1112
+ warning: "#b45309",
937
1113
  error: "#d63384",
938
- info: "#06b6d4"
939
- }, pt = {
1114
+ info: "#0e7490"
1115
+ }, Ot = {
940
1116
  surface: "#0f172a",
941
1117
  foreground: "#f8fafc",
942
1118
  muted: "#94a3b8",
@@ -944,6 +1120,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
944
1120
  controlBorder: "#94a3b8",
945
1121
  rule: "#5b6a80",
946
1122
  backing: "#1e293b",
1123
+ scrim: "rgb(15 23 42 / 0.5)",
947
1124
  meterFill: "#f8fafc",
948
1125
  meterTrack: "#334155",
949
1126
  primary: "#8b5cf6",
@@ -962,4 +1139,4 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
962
1139
  info: "#22d3ee"
963
1140
  };
964
1141
  //#endregion
965
- export { y as Brandmark, Ee as Button, S as Checklist, h as Cluster, T as Collection, Ge as Cover, ne as DefinitionList, I as Eyebrow, ie as Figure, qe as Footer, Xe as Form, R as H1, B as H2, H as H3, de as H4, pe as H5, he as H6, $e as Header, tt as Hero, Oe as Input, Ae as Link, se as Meter, _e as Note, ye as P, at as PageHead, we as Prose, k as Rail, st as Section, dt as Sidebar, Ne as Slider, _ as Stack, P as Table, Be as Tabs, He as TextArea, pt as dark, ft as light };
1142
+ export { x as Brandmark, Ne as Button, w as Checklist, _ as Cluster, te as Collection, Qe as Cover, ae as DefinitionList, ot as Dialog, N as Eyebrow, se as Figure, ct as Footer, dt as Form, F as H1, L as H2, ge as H3, ve as H4, be as H5, Se as H6, mt as Header, gt as Hero, Fe as Input, Le as Link, ue as Meter, we as Note, Ee as P, xt as PageHead, je as Prose, he as Rail, X as Section, Et as Sidebar, Be as Slider, y as Stack, j as Table, qe as Tabs, Ye as TextArea, Ot as dark, Dt as light };