@godxjp/ui 33.18.0 → 33.20.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.
@@ -118,7 +118,7 @@ const VOCABULARY_REGISTRY = {
118
118
  WidthProp: {
119
119
  file: "vocabulary/shared.prop.ts",
120
120
  category: "shared",
121
- description: "Explicit layout length (number\u2192px | CSS string) \u2014 NOT the SizeProp tier"
121
+ description: 'Explicit layout length (number\u2192px | CSS length string: 20rem, 50%, calc()/min()/var()) \u2014 NOT the SizeProp tier; "md" is a type error'
122
122
  },
123
123
  ControlWidthProp: {
124
124
  file: "vocabulary/shared.prop.ts",
@@ -2632,7 +2632,14 @@ const COMPONENT_PROP_REGISTRY = {
2632
2632
  DescriptionsProp: {
2633
2633
  group: "data-display",
2634
2634
  file: "components/data-display.prop.ts",
2635
- vocabulary: ["ClassNameProp"]
2635
+ vocabulary: [
2636
+ "ClassNameProp",
2637
+ {
2638
+ field: "labelWidth",
2639
+ local: true,
2640
+ reason: "WidthProp CSS lengths plus content for shared intrinsic label tracks; auto preserves the theme width (gh#1441)."
2641
+ }
2642
+ ]
2636
2643
  },
2637
2644
  DescriptionsItemProp: {
2638
2645
  group: "data-display",
@@ -3553,6 +3560,11 @@ const COMPONENT_PROP_REGISTRY = {
3553
3560
  "ChildrenProp",
3554
3561
  "DisabledProp",
3555
3562
  "IconProp",
3563
+ {
3564
+ field: "countTone",
3565
+ local: true,
3566
+ reason: "Counter intent: neutral (shared ToneProp term, as Badge) or accent (existing selected emphasis). Per-item and compound trigger parity, gh#1442."
3567
+ },
3556
3568
  {
3557
3569
  field: "count",
3558
3570
  local: true,
@@ -57,11 +57,21 @@ export type AsChildProp = boolean;
57
57
  * would otherwise write at the call site.
58
58
  */
59
59
  export type FlushProp = boolean;
60
+ /** A CSS length or percentage unit (CSS Values and Units 4 §5–6), as written after a number. */
61
+ type CssLengthUnit = "px" | "rem" | "em" | "%" | "ch" | "ex" | "lh" | "rlh" | "vw" | "vh" | "vi" | "vb" | "vmin" | "vmax" | "svw" | "svh" | "lvw" | "lvh" | "dvw" | "dvh" | "cqw" | "cqh" | "cqi" | "cqb" | "cqmin" | "cqmax" | "cm" | "mm" | "in" | "pt" | "pc";
60
62
  /**
61
63
  * An explicit layout dimension (NOT the `SizeProp` control-height tier). A `number` is treated as
62
- * px; a `string` is any CSS length (`"32rem"`, `"90vw"`, `"50%"`).
64
+ * px; a `string` must be a CSS length the browser can use as written: a number with a unit
65
+ * (`"32rem"`, `"90vw"`, `"50%"`), an intrinsic keyword (`"auto"`, `"max-content"`,
66
+ * `"min-content"`, `"fit-content"`) or a math / custom-property expression (`calc()`, `min()`,
67
+ * `max()`, `clamp()`, `var()`, `fit-content()`).
68
+ *
69
+ * A size-tier word (`"sm"`, `"md"`, `"lg"`) is a type error, not a width: the value is written into
70
+ * CSS as-is, so `controlWidth="md"` was `--form-control-width: md` — invalid at computed-value time,
71
+ * which drops the cap and lets the control fill its column (gh#1431). A component that offers a
72
+ * width SCALE names it with its own union (`CenteredShellWidthProp`, `ControlWidthProp`).
63
73
  */
64
- export type WidthProp = number | string;
74
+ export type WidthProp = number | `${number}${CssLengthUnit}` | "auto" | "max-content" | "min-content" | "fit-content" | `calc(${string})` | `min(${string})` | `max(${string})` | `clamp(${string})` | `var(${string})` | `fit-content(${string})`;
65
75
  /**
66
76
  * How a control sizes on the inline axis: fill its column, hug its label, or sit at a bounded
67
77
  * width the theme owns.
@@ -106,3 +116,4 @@ export type NotFoundContentProp = React.ReactNode;
106
116
  * lets it size to its content, and a number pins it to that many pixels.
107
117
  */
108
118
  export type PopupMatchWidthProp = boolean | number;
119
+ export {};
@@ -2685,6 +2685,36 @@
2685
2685
 
2686
2686
  @layer godxjp-ui-responsive {
2687
2687
 
2688
+ [data-slot="descriptions"][data-label-width="content"] {
2689
+ grid-template-columns: repeat(
2690
+ var(--descriptions-column-count, 1),
2691
+ fit-content(var(--descriptions-label-max-width)) minmax(0, 1fr)
2692
+ );
2693
+ column-gap: var(--descriptions-label-gap);
2694
+ }
2695
+ [data-slot="descriptions"][data-label-width="content"][data-bordered] {
2696
+ column-gap: 0;
2697
+ }
2698
+ [data-slot="descriptions"][data-label-width="content"] > [data-slot="descriptions-item"] {
2699
+ grid-column: span calc(2 * var(--descriptions-item-span, 1));
2700
+ grid-template-columns: subgrid;
2701
+ }
2702
+ [data-slot="descriptions"][data-label-width="content"]
2703
+ > [data-slot="descriptions-item"][data-span="filled"] {
2704
+ grid-column: 1 / -1;
2705
+ }
2706
+ [data-slot="descriptions"][data-label-width="content"]
2707
+ > [data-slot="descriptions-item"]
2708
+ > [data-slot="descriptions-value"] {
2709
+ grid-column: 2 / -1;
2710
+ }
2711
+ [data-slot="descriptions"][data-label-width="content"]
2712
+ > [data-slot="descriptions-item"]
2713
+ > [data-slot="descriptions-label"] {
2714
+ min-inline-size: 0;
2715
+ overflow-wrap: anywhere;
2716
+ }
2717
+
2688
2718
  @media (min-width: 640px) {
2689
2719
  [data-slot="descriptions"][data-columns-responsive] {
2690
2720
  --descriptions-column-count: var(
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "33.18.0",
2
+ "version": "33.20.0",
3
3
  "generatedBy": "scripts/gen-style-layers.mjs — do not edit by hand; run `pnpm gen:style-layers`",
4
4
  "base": "base.css",
5
5
  "fonts": "fonts.css",
@@ -412,6 +412,11 @@
412
412
  color: var(--tabs-count-active-color, hsl(var(--primary-foreground)));
413
413
  }
414
414
 
415
+ [data-slot="tabs"] [data-slot="tabs-trigger"] .ui-tabs-count[data-count-tone="neutral"] {
416
+ background: var(--tabs-count-neutral-background, hsl(var(--muted)));
417
+ color: var(--tabs-count-neutral-color, hsl(var(--muted-foreground)));
418
+ }
419
+
415
420
  @media (forced-colors: active) {
416
421
  [data-slot="tabs-trigger"][data-state="active"] .ui-tabs-count {
417
422
  outline: var(--tabs-count-forced-outline-width, var(--stroke-hairline)) solid currentColor;