import { Card, CardContent, CardDescription, CardHeader, CardTitle, ListRow, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@godxjp/ui/data-display"; import { Text } from "@godxjp/ui/general"; import { Flex, PageContainer } from "@godxjp/ui/layout"; /** * Table — the primitive table shell (Table/TableHeader/TableBody/TableRow/ * TableHead/TableCell). Prefer DataTable for admin lists; reach for these only * for a custom one-off table. Composed only from real @godxjp/ui components. */ export default function Demo() { return ( 仕訳明細 A fixed double-entry breakdown. The second row is rendered with the built-in selected state (TableRow data-state="selected"), and a caption + total footer row exercise caption-bottom and a summary row. 勘定科目 借方 貸方 売掛金 ¥482,000 {/* Built-in selected-row state — data-[state=selected]:bg-primary/[0.06]. */} 売上高 ¥438,182 仮受消費税 ¥43,818 合計 ¥482,000 ¥482,000
2026年5月 売上計上(税込)
月次推移 A wide table, more columns than the viewport can hold, so the built-in scroll wrapper (.relative w-full overflow-auto) scrolls horizontally. 勘定科目 1月 2月 3月 4月 5月 6月 7月 8月 9月 売上高 ¥412,000 ¥438,182 ¥455,900 ¥471,300 ¥482,000 ¥499,540 ¥510,200 ¥528,770 ¥541,090 売上原価 ¥206,000 ¥219,091 ¥227,950 ¥235,650 ¥241,000 ¥249,770 ¥255,100 ¥264,385 ¥270,545
{/* ── The flush full-bleed FRAME contract ─────────────────────────── Four cards, side by side, so the whole rule is visible at once: which edges a full-bleed table keeps inside a card, and who draws the line under the header. */} 出荷伝票一覧 · bordered, flush `bordered` draws the full cell grid for merged (rowSpan) cells. Inside a flush CardContent the three edges that coincide with the CARD frame are dropped, so there is no doubled frame. The block-start edge stays, as the divider under this header. Its width is `--table-flush-divider-width`. 倉庫 伝票番号 個数 東京第一 SH-2026-0412 18 SH-2026-0413 6 大阪南 SH-2026-0414 24
出荷伝票一覧 · bordered, NOT flush The same table in a padded CardContent. Nothing frames it here, so it keeps its own full frame. The suppression above is scoped to a flush body, never to `bordered`. 倉庫 伝票番号 個数 東京第一 SH-2026-0412 18
出荷伝票一覧 · banded header A banded header already draws its own bottom border, so the flush table below stands its divider down instead of stacking a second hairline on it. Same for a CardBar or a DataTable.Toolbar above the table. Same again for a card with no header at all, where the card frame IS the top edge. 倉庫 伝票番号 個数 東京第一 SH-2026-0412 18
{/* ── The COLUMN AXES (gh#410) ────────────────────────────────────── align · numeric · wrap · width. Every one of these was a className before, and the alignment utility the catalog recommended was a physical direction this package lints against. `wrap` is the one that is not cosmetic: a cell is `white-space: nowrap` by default (right for a data grid) and that inherits into everything it holds, so a free-text column can never break without it. */} 問い合わせ一覧 · column axes `width` fixes the id and status columns; the free-text subject takes `wrap` so a long Japanese title breaks inside its cell instead of stretching the table into a scroll; the count column takes `numeric`, which is tabular figures and end alignment as one concept, and the status column takes `align="center"`. 受付番号 件名 状態 返信 INQ-2026-0188 請求書の宛名を法人名から屋号に変更したいのですが、過去分もまとめて再発行できますか 対応中 3 INQ-2026-0189 ログイン時の二要素認証コードが届かない端末があるため、SMS から認証アプリへ切り替える手順を知りたい 未対応 0 INQ-2026-0190 API のレート制限について 完了 12
関連ファイル · flush, no table A flush body that is not a table at all. `flush` zeroes BOTH block edges for every full-bleed body, so these rows butt against the header band exactly like the tables above. The header supplies the gap, not the body.
); }