Popover

Popoverは、トリガー要素をクリックすると表示されるフローティングパネルです。 フォーム入力、設定パネル、リッチコンテンツの表示など、インタラクティブな要素を含むオーバーレイに適しています。

2
Variants
3
Sizes
4
Sides
Radix
Base

Playground

Preview
defaultBottom
Variant
Size
Side
Options
<Popover>
  <PopoverTrigger asChild>
    <Button variant="outline">Open Popover</Button>
  </PopoverTrigger>
  <PopoverContent>
    <div className="space-y-2">
      <h4 className="font-semibold text-foreground">Settings</h4>
      <p className="text-sm text-text-muted">
        Configure your preferences here.
      </p>
    </div>
  </PopoverContent>
</Popover>

Variants

Default
ペーパー背景にボーダーとシャドウ。一般的なポップオーバーに使用。
フォーム、設定
Elevated
グラスモーフィズム背景。背景ぼかし付きの洗練されたスタイル。
プロフィール、詳細

Sizes

sm
フォント13px
パディング12px
角丸8px
default
フォント13px
パディング16px
角丸12px
lg
フォント14px
パディング20px
角丸12px

Features

Side Placement

4方向(top, right, bottom, left)に配置できます。デフォルトはbottomです。

Arrow

showArrowでトリガーを指す矢印の表示を制御できます。デフォルトは表示です。

Close Button

showCloseで内蔵の閉じるボタンを表示できます。closeIconでアイコンをカスタマイズ可能です。

Alignment

alignでトリガーに対する配置を調整できます。

API

Component Structure

Popover— Radix Popover
.Trigger.ContentProps.Arrow.Close.Anchor.Portal

Props

Popover (Root)

openundefined
boolean

ポップオーバーの表示状態(制御モード)

defaultOpenfalse
boolean

初期表示状態(非制御モード)

onOpenChangeundefined
(open: boolean) => void

表示状態が変更されたときのコールバック

modalfalse
boolean

モーダルモード(背景の操作を無効化)

PopoverContent

variant"default"
"default" | "elevated"

外観バリアント(default: ペーパー背景、elevated: グラスモーフィズム)

size"default"
"sm" | "default" | "lg"

パディングとテキストサイズ

side"bottom"
"top" | "right" | "bottom" | "left"

表示位置

sideOffsetauto (12 with arrow, 6 without)
number

トリガーからの距離(px)

align"center"
"start" | "center" | "end"

トリガーに対するアラインメント

showArrowtrue
boolean

矢印の表示

showClosefalse
boolean

閉じるボタンの表示

closeIconundefined
ReactNode

カスタム閉じるアイコン

Popover vs Tooltip

似たフローティングUIですが、用途とインタラクションが異なります。

トリガー

Popover: クリック

Tooltip: ホバー / フォーカス

コンテンツ

Popover: リッチ(フォーム、ボタン、リンク)

Tooltip: テキストのみ(短い補足)

インタラクション

Popover: あり(操作可能)

Tooltip: なし(読むだけ)

デフォルト方向

Popover: bottom(自然な上→下の操作)

Tooltip: top(読み流れを邪魔しない)

閉じ方

Popover: 外部クリック / Esc / Closeボタン

Tooltip: ホバー解除で自動

ARIA

Popover: aria-expanded + aria-controls

Tooltip: role="tooltip"

使い分けのポイント: Popoverは「クリックで開くインタラクティブなコンテンツ」に使用。 単純な補足テキストのみの場合はTooltipを使用します。