本文へ移動
uiify

Popup

トリガーを基準に配置するポップオーバーのサーフェス。

ブラウザー
Chrome 114+Firefox 125+Safari 17+
ティア
0
圧縮後のサイズ
883 B
強制レイアウトの上限
0 ms
axe の上限
0
SSR 対応
はい
基盤となる要素
elements/popover
公開された契約
テストハーネス

プレイグラウンド

Popup

Preferences

Invite teammate

Manual dismissal

API

PopupTrigger

Prop型既定値説明
target*string—このボタンが開閉するPopupContentのID。ブラウザーがハイドレーションなしで開閉、外側の操作による終了、Escapeを処理します。
childrenReactNode—トリガーボタンの内容。
asTAs & NativeButtonAs<TAs>"button"ネイティブのbuttonにpropsとrefを転送するコンポーネント。invokerコマンドには実際のbuttonが必要なため、他のタグは拒否します。

PopupContent

Prop型既定値説明
id*string—利用側が指定する一意のID。トリガーと閉じる操作から参照します。
side"top" | "right" | "bottom" | "left""bottom"サーフェスを固定するトリガーの辺。
align"start" | "center" | "end""center"選択した辺に沿ったサーフェスの配置。
mode"auto" | "manual""auto"ポップオーバーの動作。"auto"は外側のクリックとEscapeで閉じ、"manual"は閉じるinvokerが隠すまで開いたままです。
childrenReactNode—ポップオーバーのサーフェスの内容。

PopupClose

Prop型既定値説明
target*string—このボタンが隠すPopupContentのID。
childrenReactNode—閉じるボタンの内容。
asTAs & NativeButtonAs<TAs>"button"ネイティブのbuttonにpropsとrefを転送するコンポーネント。invokerコマンドには実際のbuttonが必要なため、他のタグは拒否します。

Popup.Root (legacy compound)

Prop型既定値説明
id*string—ポップオーバーのサーフェスとinvokerコマンドの安定したID。直接の子であるTrigger、Content、Closeに注入します。
mode"auto" | "manual" | "hint""auto"Contentのサーフェスに渡すポップオーバーの動作。
classNamestring—ラッパー要素に適用するクラス。
childrenReactNode—Trigger、Content、Closeのパーツ。

Popup.Trigger (legacy compound)

Prop型既定値説明
classNamestring—トリガーボタンに適用するクラス。
childrenReactNode—トリガーボタンの内容。

Popup.Content (legacy compound)

Prop型既定値説明
side"top" | "right" | "bottom" | "left""bottom"サーフェスを固定するトリガーの辺。
align"start" | "center" | "end""center"選択した辺に沿ったサーフェスの配置。
classNamestring—ポップオーバーのサーフェスに適用するクラス。
childrenReactNode—ポップオーバーのサーフェスの内容。

Popup.Close (legacy compound)

Prop型既定値説明
classNamestring—閉じるボタンに適用するクラス。
childrenReactNode—閉じるボタンの内容。

キーボード

キー操作
Escape閉じる
Tab開いているときにポップアップのコンテンツへ移動

アクセシビリティ

ネイティブのPopover APIを使います。popovertargetのinvokerがJavaScript実行前にサーフェスを開閉します。ブラウザーが外側の操作による終了、Escape、入れ子を管理し、開いたinvokerを基準にサーフェスを配置します。

スタイリングのフック

data-sidedata-aligndata-positioningdata-uiify-popupdata-part="trigger|content|close"--uiify-trigger-open (inside [data-uiify-popup][data-part="root"])
このページは機械翻訳によるもので、レビューは未実施です。