Popover

要素をクリックした際に表示されるポップアップコンテンツです。追加情報やミニフォームの表示に使用します。

Basic

jui-popover の最も基本的な使用例です。

ポップオーバー表示

お知らせ

ここには追加の情報を配置できます。

関連コンポーネント

  • Tooltip — ホバー時に表示される簡易的な説明テキスト
  • Dropdown — メニュー形式のドロップダウンリスト

アクセシビリティ

  • WAI-ARIA:
    • トリガー要素に aria-expandedaria-haspopup="dialog"aria-controls 属性が自動的に設定され、ポップオーバーの開閉状態が支援技術に伝わります。
    • ポップオーバーコンテンツには適切な role が付与されます。
  • キーボードナビゲーション:
    • Escape キーでポップオーバーを閉じることができます。
    • ポップオーバーを閉じた後、フォーカスはトリガー要素に自動的に復元されます。
    • Tab キーでトリガー要素にフォーカスし、Enter または Space キーで開閉を切り替えできます。

CSS カスタムプロパティ

プロパティ説明デフォルト値
--jui-popover-widthポップオーバーの幅auto
--jui-popover-max-widthポップオーバーの最大幅320px

その他のスタイルはグローバルのデザイントークン(--jui-color-background, --jui-color-border, --jui-radius-md, --jui-shadow-lg 等)を参照して適用されます。

ブラウザ対応

このコンポーネントが使用しているブラウザ機能と対応状況です。

機能用途ChromeFirefoxSafariステータス
CSS Custom Propertiesデザイントークン49+31+9.1+Baseline 2016
:focus-visibleキーボードフォーカスリング86+85+15.4+Baseline 2022
color-mix()ホバー色生成111+113+16.4+Baseline 2023
::slotted()Shadow DOM スロットスタイル53+63+10+Baseline 2018

💡 いずれの機能も Baseline 2023 以前に到達しており、主要ブラウザで広く対応済みです。

Baseline 情報

機能Baseline 達成Widely Available 予定
CSS Custom Properties2016年2019年 ✅
::slotted()2018年2021年 ✅
:focus-visible2022年2024年後半 ✅
color-mix()2023年2025年後半 ✅

プロパティ

コンポーネントが受け付ける属性(Props)の一覧と詳細仕様です。

PropertyAttributeDescriptionTypeDefault
disableddisabled無効状態booleanfalse
headingheadingポップオーバーのタイトルstring''
offsetoffsetポップオーバーとトリガー間のオフセット(px)number8
openopen外部制御用の開閉状態booleanfalse
placementplacement配置方向"bottom" | "bottom-end" | "bottom-start" | "left" | "right" | "top" | "top-end" | "top-start"'top'
showArrowshow-arrowアロー表示booleantrue
triggertriggerトリガー種別"click" | "hover"'click'

イベント

コンポーネントから発火するカスタムイベントの一覧です。

EventDescriptionType
juiCloseポップオーバーが閉じた時に発火CustomEvent<void>
juiOpenポップオーバーが開いた時に発火CustomEvent<void>

スロット

コンポーネント内に子要素を挿入するためのスロット一覧です。

SlotDescription
トリガー要素
"content"ポップオーバーコンテンツ

シャドウパーツ

CSSから直接スタイリング可能な内部要素(Parts)の一覧です。

PartDescription
"arrow"アロー
"popover"ポップオーバー本体
"title"タイトル

Built with StencilJS