import * as React from "react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, CredentialReveal, } from "@godxjp/ui/data-display"; import { Button } from "@godxjp/ui/general"; import { Flex, PageContainer } from "@godxjp/ui/layout"; import { Dialog, DialogBody, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@godxjp/ui/feedback"; const API_KEY = "gxp_live_8Fh2kQ9wR7nZ1xV4bT6mL0cD3pS5yJ"; const CLIENT_SECRET = "cs_9aE2rT4uY6iO8pA1sD3fG5hJ7kL9zX"; /** * CredentialReveal — the one-time secret pattern (device credential / API key / service-account * secret). Masked by default, a show/hide toggle, a copy button that confirms the copy, an optional * download, and an acknowledge action to pair with a Dialog. Composed only from real @godxjp/ui. */ export default function Demo() { const [open, setOpen] = React.useState(false); return ( Dialog に組み込む(推奨) APIキー発行直後の一度きり表示。onAcknowledge で「保存しました」を押すまで閉じません。 APIキーを発行しました このキーはこの画面でのみ表示されます。安全な場所に保管してください。 setOpen(false)} /> インライン(マスク解除 + コピー) 既定はマスク表示。目のトグルで表示、コピーボタンは成功を aria-live で通知します。 ダウンロード付き downloadable でファイル保存を提供。復旧コードやブートストラップ資格情報向け。 Tone 警告帯の severity は tone。warning(既定)は保管を促す通常の一度きり表示、destructive は失効・再発行が必要な重大な扱い、info は運用上の補足に使います。 Size size は資格情報行の高さと操作ボタンの寸法を決めます。xs / sm は明細行や設定表の中に、md (既定)は単独のカードに、lg は発行直後のダイアログで使います。 ); }