Empty
データがない状態を表示する空状態コンポーネント。
インポート
個別サブパス(バンドルサイズを抑えたい場合):
Empty は合成コンポーネントです。EmptyHeader の中に EmptyMedia(アイコン等)・EmptyTitle・EmptyDescription を並べ、EmptyContent にアクションボタン等を配置します。
基本的な使い方
Loading...
検索結果なし(アクション付き)
EmptyContent にボタン等のアクションを配置できます。
Loading...
ファイルなし
Loading...
アバターを使う(EmptyMedia の default バリアント)
EmptyMedia の variant="default"(デフォルト値)は、アイコン用の icon より一回り大きい円形エリアです。Avatar やイラスト画像を入れる用途を想定しています。
Loading...
エラー状態
Loading...
Props
Empty / EmptyHeader / EmptyTitle / EmptyDescription / EmptyContent はいずれも対応するHTML要素(div または h3 / p)の標準属性(className含む)をそのまま受け取ります。EmptyMedia のみ独自の variant propを持ちます。
EmptyMedia
| Prop | Type | Default | Description |
|---|---|---|---|
variant | 'default' | 'icon' | 'default' | default: アバターや画像向けの大きめの円形エリア(size-16)。icon: アイコン向けの小さめの円形エリア(size-12、text-muted-foreground付き) |
className | string | - | 追加のCSSクラス |
その他のサブコンポーネント
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | 追加のCSSクラス(Empty / EmptyHeader / EmptyTitle / EmptyDescription / EmptyContent 共通) |
...props | React.HTMLAttributes | - | 対応するHTML要素の標準属性をそのまま渡せます |
構造
| コンポーネント | 役割 |
|---|---|
Empty | 全体のコンテナ(中央寄せ・縦並び) |
EmptyHeader | アイコン・タイトル・説明をまとめるヘッダー |
EmptyMedia | アイコンやアバターを表示する円形エリア |
EmptyTitle | タイトル(見出し) |
EmptyDescription | 説明文 |
EmptyContent | アクションボタン等を配置するエリア(ヘッダーの下) |