Popover

Popoverは、要素の周りにフローティングして情報を表示するコンポーネントです。

使い方

import { Popover } from "@yamada-ui/react"
<Popover.Root>
  <Popover.Anchor />
  <Popover.Trigger />
  <Popover.Content>
    <Popover.Header />
    <Popover.Body />
    <Popover.Footer />
  </Popover.Content>
</Popover.Root>

サイズを変更する

別の要素を参照して表示する

別の要素を参照して表示する場合は、Popover.Anchorを使用します。

Here Display Popover

アニメーションを変更する

アニメーションを変更する場合は、animationScheme"block-start""inline-end"などを設定します。 デフォルトでは"scale"が設定されています。

配置を変更する

配置を変更する場合は、placement"start""end-end"などを指定します。デフォルトでは"end"が設定されています。

所要時間を変更する

所要時間を変更する場合は、durationに数値(秒)を指定します。

オフセットを変更する

オフセットを変更する場合は、gutterまたはoffsetに値を設定します。

モーダルにする

モーダルにする場合は、modaltrueに設定します。スクロールブロックとフォーカストラップが有効になります。

無効にする

無効にする場合は、disabledtrueに設定します。

外側のクリック時に閉じない

外側のクリック時に閉じない場合は、closeOnBlurfalseに設定します。

ESCキーが入力された時に閉じない

ESCキーが入力された時に閉じない場合は、closeOnEscfalseに設定します。

自動フォーカスを無効にする

自動フォーカスを無効にする場合は、autoFocusfalseに設定します。

初回のフォーカスを設定する

初回のフォーカスを設定する場合は、initialFocusRefRefを渡します。

スクロールをブロックする

スクロールをブロックする場合は、blockScrollOnMounttrueに設定します。

スクロール時に閉じる

スクロール時に閉じる場合は、closeOnScrolltrueに設定します。

ネストさせる

制御する

Props

アクセシビリティ

Popoverは、アクセシビリティに関してWAI-ARIA Dialog (Modal) Patternに従います。

キーボード操作

ポップオーバーが開くと、フォーカスはポップオーバー内にロックされます。つまり、ポップオーバーを閉じない限り、ポップオーバー外の要素をフォーカスすることはできません。

キー説明状態
Tabポップオーバー内の無効ではない次の要素にフォーカスします。 最後の要素の場合はポップオーバーを閉じます。open={true}
Shift + Tabポップオーバー内の無効ではない前の要素にフォーカスします。最初の要素の場合はポップオーバーを閉じます。open={true}
Escapeポップオーバーを閉じます。open={true} + closeOnEsc={true}

ARIAロールと属性

コンポーネントロールと属性使い方
Popover.Contentrole="dialog"ダイアログであることを示します。
aria-labelledby関連したPopover.Headeridを設定します。
aria-describedby関連したPopover.Bodyidを設定します。
aria-hiddenポップオーバーが開いている場合は"false"を設定し、閉じている場合は"true"を設定します。
aria-modalmodal={true}の場合は"true"を設定します。
Popover.Triggerrole="button"ボタンであることを示します。
aria-expandedポップオーバーが開いている場合は"true"を設定し、閉じている場合は"false"を設定します。
aria-controlsポップオーバーが開いている場合は関連したPopover.Contentidを設定し、閉じている場合はundefinedを設定します。
aria-haspopup="dialog"ダイアログをトリガーすることを示します。
Popover.HeaderidPopover.Contentと関連付けるために使用するid
Popover.BodyidPopover.Contentと関連付けるために使用するid