@godxjp/ui 16.2.0 → 16.2.2
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.
|
@@ -3,7 +3,15 @@ import * as React from "react";
|
|
|
3
3
|
import { tableHeadHeightClass } from "../../lib/control-styles";
|
|
4
4
|
import { cn } from "../../lib/utils";
|
|
5
5
|
const Table = React.forwardRef(
|
|
6
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx(
|
|
6
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx(
|
|
7
|
+
"table",
|
|
8
|
+
{
|
|
9
|
+
ref,
|
|
10
|
+
"data-slot": "table",
|
|
11
|
+
className: cn("w-full caption-bottom text-sm", className),
|
|
12
|
+
...props
|
|
13
|
+
}
|
|
14
|
+
) })
|
|
7
15
|
);
|
|
8
16
|
Table.displayName = "Table";
|
|
9
17
|
const TableHeader = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
|
|
@@ -282,6 +282,14 @@
|
|
|
282
282
|
padding-block: 0;
|
|
283
283
|
}
|
|
284
284
|
|
|
285
|
+
/* A non-banded header before a FLUSH full-bleed table supplies its OWN bottom gap: the table's
|
|
286
|
+
* content padding is zeroed above, so without this the title/subtitle butt against the header
|
|
287
|
+
* row. Match the header's top inset so the header block reads balanced top↕bottom. */
|
|
288
|
+
[data-slot="card"]:has([data-slot="card-content"][data-flush] [data-slot="table"])
|
|
289
|
+
[data-slot="card-header"]:not([data-banded]) {
|
|
290
|
+
padding-bottom: var(--card-space-body-y);
|
|
291
|
+
}
|
|
292
|
+
|
|
285
293
|
[data-slot="card-content"][data-tight] {
|
|
286
294
|
padding-top: 0;
|
|
287
295
|
}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
/* Card component tokens: card chrome derives from semantic layout tokens. */
|
|
2
2
|
|
|
3
3
|
:root {
|
|
4
|
+
/* Horizontal inset of every slot (header / content / footer) + the resting top/bottom
|
|
5
|
+
* shell padding. This is the column the title, body and footer all align to. */
|
|
4
6
|
--card-space-inset: var(--space-section-active);
|
|
7
|
+
/* Vertical padding of a BANDED header band (top = bottom). Drives --card-space-divided-y. */
|
|
5
8
|
--card-space-header-y: var(--space-stack-sm);
|
|
9
|
+
/* Gap between the header and the body, and the body's own top padding — the breathing
|
|
10
|
+
* room under a title before content begins. */
|
|
6
11
|
--card-space-body-y: var(--space-section-active);
|
|
12
|
+
/* Vertical padding of a SEPARATED footer band (top = bottom). Drives --card-space-divided-y. */
|
|
7
13
|
--card-space-footer-y: var(--space-stack-sm);
|
|
8
|
-
/* DIVIDED-section vertical padding (rule #44/#45). A header/footer that carries a
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
14
|
+
/* DIVIDED-section vertical padding (rule #44/#45). A header/footer that carries a divider
|
|
15
|
+
* border (banded header, separated footer) reads as its own band, so it pads SYMMETRICALLY
|
|
16
|
+
* top+bottom — distinct from a plain header that flows into the body (top inset, no bottom).
|
|
17
|
+
* One themeable knob keeps the header- and footer-band rhythm in sync; a service theme tunes
|
|
18
|
+
* the band density here instead of forking per-slot CSS. */
|
|
13
19
|
--card-space-divided-y: var(--card-space-header-y);
|
|
20
|
+
/* Vertical gap between stacked items WITHIN a slot (e.g. title ↕ description in the header). */
|
|
14
21
|
--card-space-gap: var(--space-stack-xs);
|
|
15
22
|
--card-title-font-size: var(--font-size-base);
|
|
16
23
|
--card-title-line-height: var(--line-height-tight);
|