Foundation
PackagesUIComponentsDialogs

AlertDialog

通知ダイアログに特化したCompositeコンポーネント。結果や警告をユーザーに伝える。

いつ使うか

  • 操作の完了や結果をユーザーに通知するときに使用する(「保存しました」「送信完了」など)
  • エラーや警告をユーザーに伝え、確認を求めるときに使用する(「権限がありません」「セッション切れ」など)

いつ使わないか

  • ユーザーに判断を求める場合は使わない。ConfirmDialog を使用する
  • 一時的な軽量通知には使わない。Toast を使用する
  • フォーム入力やカスタムレイアウトが必要な場合は使わない。Dialog を使用する

Usage

import { AlertDialog } from '@bi-shop-it/ui/alert-dialog';

<AlertDialog
  description="データの保存が完了しました。"
  title="保存完了"
  trigger={<ActionButton label="保存" />}
/>;

Props

Propデフォルト説明
titlestringダイアログのタイトル
descriptionstringタイトル下の説明テキスト
buttonLabelstring'OK'ボタンのラベル
variant'default' | 'destructive''default'ボタンのスタイル
triggerReactNodeダイアログを開くトリガー要素
childrenReactNode追加のボディコンテンツ
openboolean外部から開閉を制御する場合に使用する
onOpenChange(open: boolean) => void開閉状態が変化したときのコールバック

状態

デフォルト

<AlertDialog
  description="データの保存が完了しました。"
  title="保存完了"
  trigger={<ActionButton label="通知を表示" />}
/>

Destructive

エラーや警告の通知に使用する。variant="destructive" でボタンが赤系の表示になる。

<AlertDialog
  buttonLabel="閉じる"
  description="この操作を実行する権限がありません。管理者にお問い合わせください。"
  title="権限エラー"
  variant="destructive"
/>

ConfirmDialog との使い分け

シナリオ使うコンポーネント
結果の通知(OK のみ)AlertDialog
エラー・警告の通知AlertDialog
操作の確認(確認/キャンセル)ConfirmDialog
破壊的操作の確認ConfirmDialog

アクセシビリティ

コンポーネントが内部で処理すること

  • Dialog と同じアクセシビリティ機能をすべて引き継ぐ
  • ボタンが1つのみのため、フォーカスが自然にボタンに集中する

利用者が対応すること

  • title に通知の種類が伝わるテキストを設定すること(「エラー」よりも「権限エラー」のように具体的にする)
  • description で状況の詳細を説明すること

関連コンポーネント

  • ConfirmDialog — 確認ダイアログ。ユーザーに判断を求めるときに使用する
  • Dialog — 汎用ダイアログ。Compound Component パターンで自由にレイアウトを構成できる

On this page