Badge
ステータスやカテゴリを表示するバッジコンポーネント。
インポート
個別サブパス(バンドルサイズを抑えたい場合):
基本的な使い方
Loading...
バリアント
Loading...
形状
Loading...
インタラクティブ
interactiveプロパティを使用すると、クリック可能なバッジとしてホバー効果とカーソルが適用されます。
interactiveは単独では使えません。onClickまたはonKeyDownとの併用が前提です。 asChildを使っていない場合(生のspanを描画する場合)でも、ハンドラ(onClick/onKeyDownのいずれか)を渡していないとtabIndex/role="button"/Enter・Spaceキーでのクリック発火は自動付与されません。これはServer Componentとして描画される際に関数propsを直列化できずエラーになることを防ぎつつ、何も起きない要素をフォーカス可能にしてしまうa11y上の問題を避けるためです。ハンドラを渡した場合のみ、キーボード操作可能な状態が自動で付与されます(asChildの場合は子要素a等が自前でキーボード操作を持つため付与されません)。
Loading...
onClick/onKeyDownを渡す場合、利用側がClient Componentである必要があります(RSCからは関数を渡せないため)。
表示のみの用途(interactiveを使わない場合)は/serverからそのまま利用できます。
アイコン付きバッジ
Loading...
実際の使用例
ステータス表示
Loading...
カテゴリタグ
Loading...
通知カウント
Loading...
Props
| Prop | Type | Default | Description |
|---|---|---|---|
variant | 'base' | 'primary' | 'secondary' | 'destructive' | 'success' | 'warning' | 'outline' | 'base' | バッジのスタイルバリアント |
shape | 'circle' | 'square' | 'circle' | バッジの形状 |
interactive | boolean | false | ホバー効果とカーソルを適用(クリック可能なバッジに使用)。onClickまたはonKeyDownとの併用が前提。ハンドラを渡し、かつasChildがfalseのときのみtabIndex/role="button"/Enter・Spaceキー操作が自動付与される(ハンドラが無い場合は付与されない) |