import { Card, CardContent, CardDescription, CardHeader, CardTitle, Prose, } from "@godxjp/ui/data-display"; import { Flex, PageContainer } from "@godxjp/ui/layout"; /** * Prose — typography for rendered content (Markdown, CMS bodies, issue descriptions). Styles the * semantic HTML inside it from the tokens; the HTML can come from react-markdown, a sanitised * string or JSX. Composed only from real @godxjp/ui components. */ /** * A CONSUMER'S OWN STYLESHEET — the file their app already has, not part of the package. It is * inlined here so the third card below is the real thing rather than a description of it. * * Both halves of the gh#717 contract are exercised: * · `--prose-link-*` — the service tunes every link in its wiki once, through the knob; * · `a[data-unresolved]` — Prose writes `data-*` on its own ROOT only, so every `data-*` on a * descendant `a` is the consumer's and stays selectable. That is a promise, held by * src/components/data-display/__tests__/prose-link-717.test.tsx. * * Measured on the card surface (#fdfdfc light / #21201c dark): * resolved --text-link #6400d4 → 8.29:1 light · #dcbcff → 9.85:1 dark * unresolved --text-error #aa181f → 7.25:1 light · #eb7076 → 5.51:1 dark * The TEXT tier, never `--destructive`: that is the FILL tier, tuned for a white label on top of * it, and it measures 2.95:1 as ink on the dark card (gh#610). */ const WIKI_STYLESHEET = ` [data-wiki] { --prose-link-color: var(--text-link); } [data-wiki] a[data-unresolved="true"] { --prose-link-color: var(--text-error); text-decoration-style: dashed; } `; export default function Demo() { return ( Wiki page (size="md") 見出し・段落・リスト・引用・表・コードを一つの本文として。ソフト改行の扱いは Markdown パイプライン側 (remark-breaks) の責務。

請求書の発行手順

月次の請求書は 締日の翌営業日 に発行する。手順は{" "} 承認フロー に従う。

承認フロー

  1. 担当者が下書きを作成する
  2. 経理が金額を確認する
    • 消費税区分
    • 源泉徴収の有無
  3. 責任者が承認し、送付する

締日を過ぎた修正は翌月の請求に繰り越す。

環境

{/* Inside Prose the table is rendered content, not page chrome. */} {/* ui-audit-disable-next-line no-raw-table */}
項目
Browser Chrome 140
Viewport 1440 x 900

再現コード

estimate.totalhydrate() より前に読むと落ちる。

{`const total = estimate.total; // undefined before hydrate()`}

最終更新: 2026-09-05

Issue description (size="sm", imageSize="original") コンパクトな本文。貼り付けたスクリーンショットを原寸で見せる設定は横スクロールになる。

見積画面で合計が更新されない

明細を追加しても合計欄が 0 のまま。リロードすると正しい値になる。

手順

  1. 見積 EST-102 を開く
  2. 明細を 1 行追加する
  3. 合計欄を見る
Wiki body · リンクの状態 (--prose-link-*) リンクの色と下線は --prose-link-color / --prose-link-decoration-line で調整する。Prose は自身のルート以外に data-* を書かないため、a[data-…] は利用側が所有するセレクタとして保証される。ここではまだ存在しないページへのリンクを --text-error +破線で示した。カード面でのコントラストは、解決済み 8.29:1 (ライト) / 9.85:1 (ダーク)、未解決 7.25:1 / 5.51:1。

出張費の精算

原則は 精算規程 に従う。宿泊費の上限は地域区分で変わるため、 宿泊費区分表 {" "} を参照すること(このページはまだ書かれていない)。

); }