@juwel-development/design-system 3.3.0 → 3.4.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.
@@ -145,23 +145,23 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
145
145
  "data-testid": n,
146
146
  children: t
147
147
  })
148
- }, E = p([
148
+ }, ee = p([
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(" ")), ee = 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(" ")), 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 = {
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: E(),
159
+ className: ee(),
160
160
  "data-testid": n,
161
161
  children: t
162
162
  }),
163
163
  Term: ({ children: t }) => /* @__PURE__ */ e("dt", {
164
- className: ee(),
164
+ className: E(),
165
165
  children: t
166
166
  }),
167
167
  Description: ({ children: t }) => /* @__PURE__ */ e("dd", {
@@ -214,21 +214,51 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
214
214
  children: l
215
215
  })]
216
216
  });
217
- }, ae = p(["grid gap-[var(--space-stack)]", "lg:grid-cols-[10rem_minmax(0,1fr)] lg:items-start lg:gap-x-12"].join(" ")), oe = p("lg:sticky lg:top-6"), se = p("block border-b border-solid border-border pb-1 font-secondary text-label tracking-label text-muted"), ce = p("block pt-1 font-secondary text-label tracking-label text-foreground"), le = {
218
- Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
217
+ }, D = class extends Error {
218
+ constructor(e) {
219
+ super(`Meter configuration is invalid: ${e}`), this.name = "MeterConfigurationError";
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%)]", {
222
+ variants: { treatment: {
223
+ neutral: "bg-meter-fill",
224
+ depleting: "bg-[color-mix(in_oklab,var(--color-meter-fill)_calc(var(--meter-level)*100%),var(--color-error))]"
225
+ } },
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})`);
231
+ let c = { "--meter-level": (t - n) / (r - n) };
232
+ return /* @__PURE__ */ e("div", {
233
+ role: "meter",
234
+ "aria-valuenow": t,
235
+ "aria-valuemin": n,
236
+ "aria-valuemax": r,
237
+ "aria-label": a,
238
+ "aria-valuetext": o,
239
+ "data-testid": s,
219
240
  className: ae(),
241
+ style: c,
242
+ children: /* @__PURE__ */ e("div", {
243
+ "aria-hidden": "true",
244
+ className: oe({ treatment: i })
245
+ })
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 = {
248
+ Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
249
+ className: ce(),
220
250
  "data-testid": n,
221
251
  children: t
222
252
  }),
223
253
  Index: ({ number: n, children: r, testId: i }) => /* @__PURE__ */ t("div", {
224
- className: oe(),
254
+ className: le(),
225
255
  "data-testid": i,
226
256
  "aria-hidden": "true",
227
257
  children: [n !== void 0 && /* @__PURE__ */ e("span", {
228
- className: se(),
258
+ className: ue(),
229
259
  children: n
230
260
  }), /* @__PURE__ */ e("span", {
231
- className: ce(),
261
+ className: O(),
232
262
  children: r
233
263
  })]
234
264
  }),
@@ -236,7 +266,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
236
266
  "data-testid": n,
237
267
  children: t
238
268
  })
239
- }, D = p([
269
+ }, A = p([
240
270
  "[&:not([data-notes])]:overflow-x-auto",
241
271
  "[&>table]:w-full [&>table]:border-collapse [&>table]:text-left",
242
272
  "[&_caption]:pb-3 [&_caption]:text-left [&_caption]:font-secondary [&_caption]:text-label [&_caption]:tracking-label [&_caption]:text-muted",
@@ -245,7 +275,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
245
275
  "[&[data-notes=content]>table]:max-md:block",
246
276
  "[&[data-notes=content]_thead]:max-md:block [&[data-notes=content]_tbody]:max-md:block [&[data-notes=content]_tfoot]:max-md:block",
247
277
  "[&[data-notes=content]_tr]:max-md:block [&[data-notes=content]_td]:max-md:block [&[data-notes=content]_th]:max-md:block"
248
- ].join(" ")), O = p("border-t border-solid border-border"), k = p("px-4 py-2 text-small first:pl-0 last:pr-0", {
278
+ ].join(" ")), j = p("border-t border-solid border-border"), M = p("px-4 py-2 text-small first:pl-0 last:pr-0", {
249
279
  variants: {
250
280
  variant: {
251
281
  value: "font-primary text-foreground tabular-nums",
@@ -261,24 +291,24 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
261
291
  variant: "value",
262
292
  align: "left"
263
293
  }
264
- }), A = p("px-4 py-2 font-secondary font-medium text-label text-muted tracking-label first:pl-0 last:pr-0", {
294
+ }), N = p("px-4 py-2 font-secondary font-medium text-label text-muted tracking-label first:pl-0 last:pr-0", {
265
295
  variants: { align: {
266
296
  left: "text-left",
267
297
  right: "text-right",
268
298
  center: "text-center"
269
299
  } },
270
300
  defaultVariants: { align: "left" }
271
- }), j = {
301
+ }), P = {
272
302
  Root: ({ caption: n, notes: r, children: i, testId: a }) => {
273
303
  let o = /* @__PURE__ */ t("table", { children: [/* @__PURE__ */ e("caption", { children: n }), i] });
274
304
  return r === void 0 ? /* @__PURE__ */ e("section", {
275
- className: D(),
305
+ className: A(),
276
306
  "data-testid": a,
277
307
  "aria-label": n,
278
308
  tabIndex: 0,
279
309
  children: o
280
310
  }) : /* @__PURE__ */ e("div", {
281
- className: D(),
311
+ className: A(),
282
312
  "data-notes": r,
283
313
  "data-testid": a,
284
314
  children: o
@@ -288,160 +318,160 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
288
318
  Body: ({ children: t }) => /* @__PURE__ */ e("tbody", { children: t }),
289
319
  Footer: ({ children: t }) => /* @__PURE__ */ e("tfoot", { children: t }),
290
320
  Row: ({ children: t, testId: n }) => /* @__PURE__ */ e("tr", {
291
- className: O(),
321
+ className: j(),
292
322
  "data-testid": n,
293
323
  children: t
294
324
  }),
295
325
  HeaderCell: ({ scope: t, align: n, children: r }) => /* @__PURE__ */ e("th", {
296
326
  scope: t,
297
- className: A({ align: n }),
327
+ className: N({ align: n }),
298
328
  children: r
299
329
  }),
300
330
  Cell: ({ variant: t, align: n, children: r }) => /* @__PURE__ */ e("td", {
301
- className: k({
331
+ className: M({
302
332
  variant: t,
303
333
  align: n
304
334
  }),
305
335
  "data-variant": t ?? "value",
306
336
  children: r
307
337
  })
308
- }, M = p("font-secondary text-label tracking-label font-medium", {
338
+ }, F = p("font-secondary text-label tracking-label font-medium", {
309
339
  variants: { color: {
310
340
  foreground: "text-foreground",
311
341
  muted: "text-muted"
312
342
  } },
313
343
  defaultVariants: { color: "muted" }
314
- }), N = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
315
- className: M({ color: n }),
344
+ }), I = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
345
+ className: F({ color: n }),
316
346
  "data-testid": r,
317
347
  children: t
318
- }), P = p("font-primary text-display leading-display tracking-optical max-w-[var(--measure-display)]", {
348
+ }), L = p("font-primary text-display leading-display tracking-optical max-w-[var(--measure-display)]", {
319
349
  variants: { color: {
320
350
  foreground: "text-foreground",
321
351
  muted: "text-muted"
322
352
  } },
323
353
  defaultVariants: { color: "foreground" }
324
- }), F = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h1", {
325
- className: P({ color: n }),
354
+ }), R = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h1", {
355
+ className: L({ color: n }),
326
356
  "data-testid": r,
327
357
  children: t
328
- }), I = p("font-primary text-title leading-title tracking-optical", {
358
+ }), z = p("font-primary text-title leading-title tracking-optical", {
329
359
  variants: { color: {
330
360
  foreground: "text-foreground",
331
361
  muted: "text-muted"
332
362
  } },
333
363
  defaultVariants: { color: "foreground" }
334
- }), L = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h2", {
335
- className: I({ color: n }),
364
+ }), B = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h2", {
365
+ className: z({ color: n }),
336
366
  "data-testid": r,
337
367
  children: t
338
- }), R = p("font-primary text-subtitle leading-subtitle", {
368
+ }), V = p("font-primary text-subtitle leading-subtitle", {
339
369
  variants: { color: {
340
370
  foreground: "text-foreground",
341
371
  muted: "text-muted"
342
372
  } },
343
373
  defaultVariants: { color: "foreground" }
344
- }), z = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h3", {
345
- className: R({ color: n }),
374
+ }), H = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h3", {
375
+ className: V({ color: n }),
346
376
  "data-testid": r,
347
377
  children: t
348
- }), B = p("font-primary text-body leading-body font-bold", {
378
+ }), U = p("font-primary text-body leading-body font-bold", {
349
379
  variants: { color: {
350
380
  foreground: "text-foreground",
351
381
  muted: "text-muted"
352
382
  } },
353
383
  defaultVariants: { color: "foreground" }
354
- }), V = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h4", {
355
- className: B({ color: n }),
384
+ }), de = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h4", {
385
+ className: U({ color: n }),
356
386
  "data-testid": r,
357
387
  children: t
358
- }), H = p("font-primary text-body leading-body font-semibold", {
388
+ }), fe = p("font-primary text-body leading-body font-semibold", {
359
389
  variants: { color: {
360
390
  foreground: "text-foreground",
361
391
  muted: "text-muted"
362
392
  } },
363
393
  defaultVariants: { color: "foreground" }
364
- }), U = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h5", {
365
- className: H({ color: n }),
394
+ }), pe = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h5", {
395
+ className: fe({ color: n }),
366
396
  "data-testid": r,
367
397
  children: t
368
- }), W = p("font-primary text-body leading-body font-medium", {
398
+ }), me = p("font-primary text-body leading-body font-medium", {
369
399
  variants: { color: {
370
400
  foreground: "text-foreground",
371
401
  muted: "text-muted"
372
402
  } },
373
403
  defaultVariants: { color: "foreground" }
374
- }), ue = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h6", {
375
- className: W({ color: n }),
404
+ }), he = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h6", {
405
+ className: me({ color: n }),
376
406
  "data-testid": r,
377
407
  children: t
378
- }), de = p("font-secondary text-small", {
408
+ }), ge = p("font-secondary text-small", {
379
409
  variants: { color: {
380
410
  foreground: "text-foreground",
381
411
  muted: "text-muted"
382
412
  } },
383
413
  defaultVariants: { color: "foreground" }
384
- }), fe = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
385
- className: de({ color: n }),
414
+ }), _e = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
415
+ className: ge({ color: n }),
386
416
  "data-testid": r,
387
417
  children: t
388
- }), pe = p("font-primary text-body leading-body", {
418
+ }), ve = p("font-primary text-body leading-body", {
389
419
  variants: { color: {
390
420
  foreground: "text-foreground",
391
421
  muted: "text-muted"
392
422
  } },
393
423
  defaultVariants: { color: "foreground" }
394
- }), me = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
395
- className: pe({ color: n }),
424
+ }), ye = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
425
+ className: ve({ color: n }),
396
426
  "data-testid": r,
397
427
  children: t
398
- }), he = p("flex max-w-[var(--measure)] flex-col gap-[var(--space-stack)]"), ge = p("font-primary text-lede leading-lede text-foreground"), _e = p("font-primary text-body leading-body", {
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", {
399
429
  variants: { color: {
400
430
  foreground: "text-foreground",
401
431
  muted: "text-muted"
402
432
  } },
403
433
  defaultVariants: { color: "foreground" }
404
- }), ve = p("font-primary text-small text-muted"), ye = {
434
+ }), Ce = p("font-primary text-small text-muted"), we = {
405
435
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
406
- className: he(),
436
+ className: be(),
407
437
  "data-testid": n,
408
438
  children: t
409
439
  }),
410
440
  Lede: ({ children: t }) => /* @__PURE__ */ e("p", {
411
- className: ge(),
441
+ className: xe(),
412
442
  children: t
413
443
  }),
414
444
  Body: ({ color: t, children: n }) => /* @__PURE__ */ e("p", {
415
- className: _e({ color: t }),
445
+ className: Se({ color: t }),
416
446
  children: n
417
447
  }),
418
448
  Tail: ({ children: t }) => /* @__PURE__ */ e("p", {
419
- className: ve(),
449
+ className: Ce(),
420
450
  children: t
421
451
  })
422
- }, be = 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)]", {
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)]", {
423
453
  variants: { variant: {
424
454
  primary: "px-4 sm:px-6 min-w-[var(--control-min-width)] bg-primary text-primary-foreground hover:bg-primary-hover",
425
455
  secondary: "px-4 sm:px-6 min-w-[var(--control-min-width)] bg-secondary text-secondary-foreground hover:bg-secondary-hover",
426
456
  ghost: "px-2 min-w-0 bg-transparent text-foreground hover:underline hover:decoration-[length:var(--underline-thickness)] hover:underline-offset-[var(--underline-offset)]"
427
457
  } },
428
458
  defaultVariants: { variant: "primary" }
429
- }), xe = ({ children: t, disabled: n, testId: r, variant: i, onClick$: a, ariaLabel: o, type: s = "button" }) => /* @__PURE__ */ e("button", {
459
+ }), Ee = ({ children: t, disabled: n, testId: r, variant: i, onClick$: a, ariaLabel: o, type: s = "button" }) => /* @__PURE__ */ e("button", {
430
460
  type: s,
431
461
  "data-testid": r,
432
- className: be({ variant: i }),
462
+ className: Te({ variant: i }),
433
463
  onClick: () => a?.next(),
434
464
  disabled: n,
435
465
  "aria-label": o,
436
466
  children: t
437
- }), Se = 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", {
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", {
438
468
  variants: { variant: {
439
469
  text: "",
440
470
  email: "",
441
471
  url: ""
442
472
  } },
443
473
  defaultVariants: { variant: "text" }
444
- }), Ce = ({ 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 }) => {
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 }) => {
445
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);
446
476
  return o(() => {
447
477
  let e = v?.subscribe(() => {
@@ -461,7 +491,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
461
491
  id: x,
462
492
  name: r,
463
493
  type: i ?? "text",
464
- className: Se({ variant: i }),
494
+ className: De({ variant: i }),
465
495
  required: a,
466
496
  disabled: d,
467
497
  defaultValue: f,
@@ -488,7 +518,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
488
518
  })
489
519
  ]
490
520
  });
491
- }, we = p("outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
521
+ }, ke = p("outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
492
522
  variants: { treatment: {
493
523
  prose: "text-link underline decoration-[length:var(--underline-thickness)] underline-offset-[var(--underline-offset)] hover:decoration-[length:var(--underline-thickness-hover)]",
494
524
  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",
@@ -496,45 +526,82 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
496
526
  graphic: "text-inherit no-underline"
497
527
  } },
498
528
  defaultVariants: { treatment: "prose" }
499
- }), Te = ({ href: t, children: n, treatment: r, external: i, current: a, testId: o }) => /* @__PURE__ */ e("a", {
529
+ }), Ae = ({ href: t, children: n, treatment: r, external: i, current: a, testId: o }) => /* @__PURE__ */ e("a", {
500
530
  href: t,
501
- className: we({ treatment: r }),
531
+ className: ke({ treatment: r }),
502
532
  target: i ? "_blank" : void 0,
503
533
  rel: i ? "noopener noreferrer" : void 0,
504
534
  "aria-current": a ? "page" : void 0,
505
535
  "data-testid": o,
506
536
  children: n
507
- }), Ee = class extends Error {
537
+ }), W = class extends Error {
538
+ constructor(e) {
539
+ super(`Slider configuration: ${e}`), this.name = "SliderConfigurationError";
540
+ }
541
+ }, je = p([
542
+ "block h-[var(--slider-thumb-size)] w-full cursor-pointer appearance-none bg-transparent",
543
+ "disabled:cursor-not-allowed",
544
+ "outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]",
545
+ "[&::-webkit-slider-runnable-track]:h-[var(--slider-track-thickness)] [&::-webkit-slider-runnable-track]:rounded-[var(--radius-control)] [&::-webkit-slider-runnable-track]:bg-control-border",
546
+ "[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:size-[var(--slider-thumb-size)] [&::-webkit-slider-thumb]:rounded-[var(--radius-control)] [&::-webkit-slider-thumb]:bg-foreground",
547
+ "[&::-webkit-slider-thumb]:mt-[calc((var(--slider-track-thickness)-var(--slider-thumb-size))/2)]",
548
+ "[&:disabled::-webkit-slider-runnable-track]:bg-disabled [&:disabled::-webkit-slider-thumb]:bg-disabled",
549
+ "[&::-moz-range-track]:h-[var(--slider-track-thickness)] [&::-moz-range-track]:rounded-[var(--radius-control)] [&::-moz-range-track]:bg-control-border",
550
+ "[&::-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
+ "[&: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({
558
+ min: t,
559
+ max: n,
560
+ step: r,
561
+ value: i
562
+ }), /* @__PURE__ */ e("input", {
563
+ type: "range",
564
+ className: je(),
565
+ min: t,
566
+ max: n,
567
+ step: r,
568
+ value: i,
569
+ disabled: c,
570
+ "aria-label": o,
571
+ "aria-valuetext": s,
572
+ "data-testid": l,
573
+ onChange: (e) => a.next(e.currentTarget.valueAsNumber)
574
+ })), Pe = class extends Error {
508
575
  constructor(e) {
509
576
  super(`Tabs.${e} must be composed inside Tabs.Root`), this.name = "TabsCompositionError";
510
577
  }
511
- }, De = p([
578
+ }, Fe = p([
512
579
  "flex flex-row overflow-x-auto",
513
580
  "p-[calc(var(--focus-ring-width)+var(--focus-ring-offset))]",
514
581
  "m-[calc(-1*(var(--focus-ring-width)+var(--focus-ring-offset)))]",
515
582
  "scroll-p-[calc(var(--focus-ring-width)+var(--focus-ring-offset))]"
516
- ].join(" ")), Oe = p([
583
+ ].join(" ")), Ie = p([
517
584
  "font-secondary text-label tracking-label",
518
585
  "text-muted hover:text-foreground aria-selected:text-foreground",
519
586
  "border-b-[length:var(--tab-marker-thickness)] border-solid border-transparent aria-selected:border-foreground",
520
587
  "shrink-0 cursor-pointer select-none text-nowrap px-[var(--tab-inset-inline)] py-[var(--tab-inset-block)]",
521
588
  "transition-colors duration-[var(--motion-duration-color)]",
522
589
  "outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]"
523
- ].join(" ")), ke = 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) => {
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) => {
524
591
  let t = a(G);
525
- if (t === void 0) throw new Ee(e);
592
+ if (t === void 0) throw new Pe(e);
526
593
  return t;
527
- }, q = (e) => e.split("").map((e) => e.charCodeAt(0).toString(16).padStart(4, "0")).join(""), Ae = (e) => {
594
+ }, q = (e) => e.split("").map((e) => e.charCodeAt(0).toString(16).padStart(4, "0")).join(""), Re = (e) => {
528
595
  e.currentTarget.scrollIntoView({
529
596
  block: "nearest",
530
597
  inline: "nearest"
531
598
  });
532
- }, J = (e, t) => `${e}tab-${q(t)}`, Y = (e, t) => `${e}panel-${q(t)}`, je = (e, t) => {
599
+ }, J = (e, t) => `${e}tab-${q(t)}`, Y = (e, t) => `${e}panel-${q(t)}`, ze = (e, t) => {
533
600
  let n = e.closest("[role=\"tablist\"]");
534
601
  if (n === null) return;
535
602
  let r = Array.from(n.querySelectorAll(":scope > [role=\"tab\"]"));
536
603
  return r[(r.indexOf(e) + t + r.length) % r.length];
537
- }, Me = {
604
+ }, Be = {
538
605
  Root: ({ active: t, onSelect$: n, label: r, children: i, testId: a }) => {
539
606
  let o = s();
540
607
  return /* @__PURE__ */ e(G.Provider, {
@@ -555,7 +622,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
555
622
  return /* @__PURE__ */ e("div", {
556
623
  role: "tablist",
557
624
  "aria-label": r,
558
- className: De(),
625
+ className: Fe(),
559
626
  "data-testid": n,
560
627
  children: t
561
628
  });
@@ -571,18 +638,18 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
571
638
  tabIndex: s ? 0 : -1,
572
639
  "data-value": t,
573
640
  "data-testid": r,
574
- className: Oe(),
641
+ className: Ie(),
575
642
  onClick: () => a.next(t),
576
643
  onKeyDown: (e) => {
577
644
  if (e.key !== "ArrowLeft" && e.key !== "ArrowRight") return;
578
645
  e.preventDefault();
579
- let t = je(e.currentTarget, e.key === "ArrowRight" ? 1 : -1);
646
+ let t = ze(e.currentTarget, e.key === "ArrowRight" ? 1 : -1);
580
647
  if (t === void 0) return;
581
648
  t.focus();
582
649
  let n = t.dataset.value;
583
650
  n !== void 0 && a.next(n);
584
651
  },
585
- onFocus: Ae,
652
+ onFocus: Re,
586
653
  children: n
587
654
  });
588
655
  },
@@ -594,12 +661,12 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
594
661
  "aria-labelledby": J(a, t),
595
662
  hidden: !o,
596
663
  tabIndex: o ? 0 : void 0,
597
- className: ke(),
664
+ className: Le(),
598
665
  "data-testid": r,
599
666
  children: o ? n : void 0
600
667
  });
601
668
  }
602
- }, Ne = 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"), Pe = ({ 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 }) => {
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 }) => {
603
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);
604
671
  return o(() => {
605
672
  let e = _?.subscribe(() => {
@@ -618,7 +685,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
618
685
  ref: w,
619
686
  id: b,
620
687
  name: r,
621
- className: Ne(),
688
+ className: Ve(),
622
689
  required: i,
623
690
  disabled: u,
624
691
  defaultValue: d,
@@ -645,31 +712,31 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
645
712
  })
646
713
  ]
647
714
  });
648
- }, Fe = p([
715
+ }, Ue = p([
649
716
  "flex flex-col items-center",
650
717
  "min-h-[var(--cover-height)]",
651
718
  "px-[var(--gutter)] py-[var(--space-region)]"
652
- ].join(" ")), Ie = "my-auto max-w-full", Le = ({ children: n, foot: r, testId: i }) => {
719
+ ].join(" ")), We = "my-auto max-w-full", Ge = ({ children: n, foot: r, testId: i }) => {
653
720
  let a = r != null && typeof r != "boolean";
654
721
  return /* @__PURE__ */ t("div", {
655
- className: Fe(),
722
+ className: Ue(),
656
723
  "data-testid": i,
657
724
  children: [/* @__PURE__ */ e("div", {
658
- className: Ie,
725
+ className: We,
659
726
  children: n
660
727
  }), a && /* @__PURE__ */ e("div", { children: r })]
661
728
  });
662
- }, Re = p("font-secondary text-small text-muted py-[var(--space-region)] px-[var(--gutter)]", {
729
+ }, Ke = p("font-secondary text-small text-muted py-[var(--space-region)] px-[var(--gutter)]", {
663
730
  variants: { edge: {
664
731
  none: "",
665
732
  rule: "border-t border-solid border-rule"
666
733
  } },
667
734
  defaultVariants: { edge: "rule" }
668
- }), ze = ({ edge: t, children: n, testId: r }) => /* @__PURE__ */ e("footer", {
669
- className: Re({ edge: t }),
735
+ }), qe = ({ edge: t, children: n, testId: r }) => /* @__PURE__ */ e("footer", {
736
+ className: Ke({ edge: t }),
670
737
  "data-testid": r,
671
738
  children: n
672
- }), Be = p("font-secondary text-small", {
739
+ }), Je = p("font-secondary text-small", {
673
740
  variants: { state: {
674
741
  idle: "text-muted",
675
742
  sending: "text-muted",
@@ -677,13 +744,13 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
677
744
  failed: "text-error"
678
745
  } },
679
746
  defaultVariants: { state: "idle" }
680
- }), Ve = {
747
+ }), Ye = {
681
748
  sent: "status",
682
749
  failed: "alert"
683
- }, He = ({ action: n, method: r = "post", state: i = "idle", children: a, actions: o, note: s, testId: c }) => {
750
+ }, Xe = ({ action: n, method: r = "post", state: i = "idle", children: a, actions: o, note: s, testId: c }) => {
684
751
  let l = s != null && typeof s != "boolean";
685
752
  if (i === "sent" && !l) throw Error("Form in the `sent` state must be given a `note` - it is the outcome message.");
686
- let u = i !== "sent", d = Ve[i];
753
+ let u = i !== "sent", d = Ye[i];
687
754
  return /* @__PURE__ */ t("form", {
688
755
  action: n,
689
756
  method: r,
@@ -701,12 +768,12 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
701
768
  }),
702
769
  l && /* @__PURE__ */ e("p", {
703
770
  role: d,
704
- className: Be({ state: i }),
771
+ className: Je({ state: i }),
705
772
  children: s
706
773
  })
707
774
  ]
708
775
  });
709
- }, Ue = p([
776
+ }, Ze = p([
710
777
  "flex items-baseline justify-between",
711
778
  "font-secondary text-label leading-label tracking-label text-muted",
712
779
  "py-[var(--space-region)] px-[var(--gutter)]",
@@ -717,50 +784,50 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
717
784
  rule: "border-b border-solid border-rule"
718
785
  } },
719
786
  defaultVariants: { edge: "rule" }
720
- }), We = [
787
+ }), Qe = [
721
788
  "inline-flex shrink-0 items-center",
722
789
  "min-h-[calc(var(--text-label)*var(--leading-label))]",
723
790
  "min-w-[var(--standing-min-width)]"
724
- ].join(" "), Ge = ({ edge: n, standing: r, navName: i, children: a, testId: o }) => /* @__PURE__ */ t("header", {
725
- className: Ue({ edge: n }),
791
+ ].join(" "), $e = ({ edge: n, standing: r, navName: i, children: a, testId: o }) => /* @__PURE__ */ t("header", {
792
+ className: Ze({ edge: n }),
726
793
  "data-testid": o,
727
794
  children: [/* @__PURE__ */ e("div", {
728
- className: We,
795
+ className: Qe,
729
796
  children: r
730
797
  }), /* @__PURE__ */ e("nav", {
731
798
  "aria-label": i,
732
799
  className: "flex flex-wrap items-baseline gap-[var(--space-region)]",
733
800
  children: a
734
801
  })]
735
- }), Ke = p("flex flex-col min-h-[var(--fold-height)] gap-[var(--space-stack)]", {
802
+ }), et = p("flex flex-col min-h-[var(--fold-height)] gap-[var(--space-stack)]", {
736
803
  variants: { place: {
737
804
  start: "justify-start",
738
805
  center: "justify-center",
739
806
  between: "justify-between"
740
807
  } },
741
808
  defaultVariants: { place: "center" }
742
- }), qe = ({ place: t, children: n, testId: r }) => /* @__PURE__ */ e("div", {
743
- className: Ke({ place: t }),
809
+ }), tt = ({ place: t, children: n, testId: r }) => /* @__PURE__ */ e("div", {
810
+ className: et({ place: t }),
744
811
  "data-testid": r,
745
812
  children: n
746
- }), Je = p("flex flex-col gap-[var(--space-stack)] py-[var(--space-band)] px-[var(--gutter)]"), Ye = p("font-primary text-title leading-title tracking-optical text-foreground"), Xe = p("font-primary text-lede leading-lede text-foreground max-w-[var(--measure-wide)]"), Ze = p("font-primary text-small text-muted max-w-[var(--measure)]"), X = ({ title: n, lede: r, intro: i, testId: a }) => /* @__PURE__ */ t("header", {
747
- className: Je(),
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(),
748
815
  "data-testid": a,
749
816
  children: [
750
817
  /* @__PURE__ */ e("h1", {
751
- className: Ye(),
818
+ className: rt(),
752
819
  children: n
753
820
  }),
754
821
  r !== void 0 && /* @__PURE__ */ e("p", {
755
- className: Xe(),
822
+ className: it(),
756
823
  children: r
757
824
  }),
758
825
  i !== void 0 && /* @__PURE__ */ e("p", {
759
- className: Ze(),
826
+ className: X(),
760
827
  children: i
761
828
  })
762
829
  ]
763
- }), Qe = p([
830
+ }), ot = p([
764
831
  "relative",
765
832
  "py-[var(--space-band)]",
766
833
  "[[data-section]+&]:border-t [[data-section]+&]:border-solid [[data-section]+&]:border-rule"
@@ -770,20 +837,20 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
770
837
  full: ""
771
838
  } },
772
839
  defaultVariants: { bleed: "inset" }
773
- }), $e = ({ bleed: t, name: n, children: r, testId: i }) => /* @__PURE__ */ e("section", {
840
+ }), st = ({ bleed: t, name: n, children: r, testId: i }) => /* @__PURE__ */ e("section", {
774
841
  "data-section": "",
775
- className: Qe({ bleed: t }),
842
+ className: ot({ bleed: t }),
776
843
  "aria-label": n,
777
844
  "data-testid": i,
778
845
  children: r
779
- }), et = p([
846
+ }), ct = p([
780
847
  "grid gap-[var(--space-region)] lg:grid-cols-[12rem_minmax(0,1fr)]",
781
848
  "[&>div:first-child]:border-solid [&>div:first-child]:border-border [&>div:first-child]:border-b [&>div:first-child]:pb-[var(--space-stack)]",
782
849
  "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)]",
783
850
  "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",
784
851
  "[&>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))]",
785
852
  "[&>div:first-child>nav>ul]:flex [&>div:first-child>nav>ul]:flex-col [&>div:first-child>nav>ul]:gap-[var(--space-stack)]"
786
- ].join(" ")), tt = (e) => {
853
+ ].join(" ")), lt = (e) => {
787
854
  if (!e) return;
788
855
  let t = [];
789
856
  for (let n = e.parentElement; n && n !== e.ownerDocument.documentElement; n = n.parentElement) t.push(n);
@@ -797,7 +864,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
797
864
  return window.addEventListener("resize", n), () => {
798
865
  r?.disconnect(), window.removeEventListener("resize", n), e.style.removeProperty("--sidebar-scrollport-height");
799
866
  };
800
- }, nt = p([
867
+ }, ut = p([
801
868
  "w-full text-left font-secondary text-label tracking-label",
802
869
  "underline-offset-[var(--underline-offset)]",
803
870
  "outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]"
@@ -812,7 +879,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
812
879
  let o = a(Z), s = o !== void 0 && o.active === t;
813
880
  return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("button", {
814
881
  type: "button",
815
- className: nt({ state: r ? "inert" : s ? "active" : "usable" }),
882
+ className: ut({ state: r ? "inert" : s ? "active" : "usable" }),
816
883
  disabled: r,
817
884
  "aria-current": s ? "true" : void 0,
818
885
  "data-testid": i,
@@ -824,14 +891,14 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
824
891
  }, $ = ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
825
892
  "data-testid": n,
826
893
  children: t
827
- }), rt = {
894
+ }), dt = {
828
895
  Root: ({ active: r, label: a, onSelect$: o, children: s, testId: c }) => {
829
896
  let l = n.toArray(s).filter(i);
830
897
  return /* @__PURE__ */ t("div", {
831
- className: et(),
898
+ className: ct(),
832
899
  "data-testid": c,
833
900
  children: [/* @__PURE__ */ e("div", { children: /* @__PURE__ */ e("nav", {
834
- ref: tt,
901
+ ref: lt,
835
902
  "aria-label": a,
836
903
  children: /* @__PURE__ */ e(Z, {
837
904
  value: {
@@ -845,7 +912,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
845
912
  },
846
913
  Item: Q,
847
914
  Content: $
848
- }, it = {
915
+ }, ft = {
849
916
  surface: "#ffffff",
850
917
  foreground: "#0f172a",
851
918
  muted: "#64748b",
@@ -853,6 +920,8 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
853
920
  controlBorder: "#64748b",
854
921
  rule: "#808fa3",
855
922
  backing: "#f1f5f9",
923
+ meterFill: "#0f172a",
924
+ meterTrack: "#e2e8f0",
856
925
  primary: "#7c3aed",
857
926
  primaryHover: "#6d28d9",
858
927
  primaryForeground: "#f8fafc",
@@ -867,7 +936,7 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
867
936
  warning: "#f59e0b",
868
937
  error: "#d63384",
869
938
  info: "#06b6d4"
870
- }, at = {
939
+ }, pt = {
871
940
  surface: "#0f172a",
872
941
  foreground: "#f8fafc",
873
942
  muted: "#94a3b8",
@@ -875,6 +944,8 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
875
944
  controlBorder: "#94a3b8",
876
945
  rule: "#5b6a80",
877
946
  backing: "#1e293b",
947
+ meterFill: "#f8fafc",
948
+ meterTrack: "#334155",
878
949
  primary: "#8b5cf6",
879
950
  primaryHover: "#a78bfa",
880
951
  primaryForeground: "#020617",
@@ -891,4 +962,4 @@ var d = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, f = u, p = (e
891
962
  info: "#22d3ee"
892
963
  };
893
964
  //#endregion
894
- export { y as Brandmark, xe as Button, S as Checklist, h as Cluster, T as Collection, Le as Cover, ne as DefinitionList, N as Eyebrow, ie as Figure, ze as Footer, He as Form, F as H1, L as H2, z as H3, V as H4, U as H5, ue as H6, Ge as Header, qe as Hero, Ce as Input, Te as Link, fe as Note, me as P, X as PageHead, ye as Prose, le as Rail, $e as Section, rt as Sidebar, _ as Stack, j as Table, Me as Tabs, Pe as TextArea, at as dark, it as light };
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 };