本文へ移動
uiify

Drawer

画面の端からスライドして現れるパネル。

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

プレイグラウンド

Drawer

閉じた状態

設定

ワークスペースの設定を調整します。

小さい画面ではボトムシートになります。ハンドルから下にスワイプするか、背景をクリックするか、閉じるボタンを使ってください。

スナップ位置

アクティビティ

ハンドルをドラッグしてシートを展開または閉じます。

最近のアクティビティをここに表示します。

幅

SMのドロワー

ネイティブのダイアログ操作はハイドレーション前に動作します。

スマートフォンではボトムシートになります。

MDのドロワー

ネイティブのダイアログ操作はハイドレーション前に動作します。

スマートフォンではボトムシートになります。

LGのドロワー

ネイティブのダイアログ操作はハイドレーション前に動作します。

スマートフォンではボトムシートになります。

FULLのドロワー

ネイティブのダイアログ操作はハイドレーション前に動作します。

スマートフォンではボトムシートになります。

表示する辺

ワークスペース設定

ワークスペースの設定を調整します。

ワークスペース設定

ワークスペースの設定を調整します。

ワークスペース設定

ワークスペースの設定を調整します。

ワークスペース設定

ワークスペースの設定を調整します。

API

DrawerPanel

Prop型既定値説明
size"sm" | "md" | "lg" | "full""md"デスクトップでの幅。24rem、32rem、40rem、利用可能な幅。モバイルではすべてのサイズが縦方向のボトムシートになります。
dismiss"any" | "closerequest" | "none""any"ネイティブの終了方針。Anyは背景、Escape、モバイルでの下向きスワイプを許可します。noneには明示的な閉じるコントロールが必要です。
backdrop"opaque" | "transparent""opaque"背景の見た目。モーダルのセマンティクスは変わりません。
id*string—トリガーと閉じるボタンが対象とする、一意のdialog ID。ハイドレーション前にドロワーを開閉できます。
trigger*ReactNode—ドロワーを開くボタンの内容。
title*ReactNode—ドロワー内に描画し、そのアクセシブルな名前に使う見出し。
descriptionReactNode—タイトルの下に描画し、aria-describedbyから参照する補足テキスト。
childrenReactNode—説明と閉じるボタンの間に配置する本文。
side"top" | "right" | "bottom" | "left""bottom"ドロワーがスライドして現れる画面の端。
closeLabelstring"Close"円形の閉じるアイコンのアクセシブルなラベル。
classNamestring—dialog要素に適用するクラス。

Drawer.Root (client)

Prop型既定値説明
openboolean—制御される開閉状態。
defaultOpenboolean—非制御の初期開閉状態。
onOpenChangeDialogChangeHandler—次の開閉状態と、変更の原因の詳細で呼び出します。
side"top" | "right" | "bottom" | "left""bottom"ドロワーがスライドして現れる画面の端。ドラッグ軸も決定します。
modalbooleantrueshowModal()で開き、背景の背後にあるページの残りをinertにします。
dismissiblebooleantrue最後のスナップ位置を超えるドラッグでドロワーを閉じられるようにします。
snapPointsreadonly number[]—ドラッグ後にパネルが停止する位置。ドロワーのサイズに対する割合で指定します。
activeSnapPointnumber—制御されるスナップ位置。snapPoints内の値のいずれかを指定します。
defaultActiveSnapPointnumber—非制御の初期スナップ位置。
onSnapChange(snap: number) => void—ドロワーが停止したスナップ位置で呼び出します。
childrenReactNode—Trigger、Contentと内部のパーツ。

Drawer.Trigger (client)

Prop型既定値説明
classNamestring—トリガーボタンに適用するクラス。
onClick(event: MouseEvent<HTMLButtonElement>) => void—トリガーをクリックすると、ドロワーが開く前に呼び出します。
refRef<HTMLButtonElement>—ドロワーが閉じると再びフォーカスするトリガーボタンへのref。
childrenReactNode—トリガーボタンの内容。

Drawer.Content (client)

Prop型既定値説明
classNamestring—dialog要素に適用するクラス。
styleCSSProperties—ドロワーが適用するドラッグのtransformとマージするインラインスタイル。
onCancelReactEventHandler<HTMLDialogElement>—Escapeを押した場合など、ネイティブのdialog cancelイベントで呼び出します。
onCloseReactEventHandler<HTMLDialogElement>—ネイティブのdialog closeイベントで呼び出します。
refRef<HTMLDialogElement>—dialog要素へのref。
childrenReactNode—ドロワーの内容。

Drawer.Title (client)

Prop型既定値説明
classNamestring—タイトル要素に適用するクラス。
childrenReactNode—ドロワーのアクセシブルな名前になるタイトルの内容。

Drawer.Description (client)

Prop型既定値説明
classNamestring—説明要素に適用するクラス。
childrenReactNode—aria-describedbyから参照する説明の内容。

Drawer.Close (client)

Prop型既定値説明
classNamestring—閉じるボタンに適用するクラス。
onClick(event: MouseEvent<HTMLButtonElement>) => void—閉じるボタンをクリックすると、ドロワーが閉じる前に呼び出します。
childrenReactNode—閉じるボタンの内容。

Drawer.Handle (client)

Prop型既定値説明
classNamestring—ドラッグハンドルに適用するクラス。
onPointerDown(event: PointerEvent<HTMLDivElement>) => void—ハンドルでドラッグが始まると呼び出します。
onPointerMove(event: PointerEvent<HTMLDivElement>) => void—ドラッグ中にポインターが動くと呼び出します。
onPointerUp(event: PointerEvent<HTMLDivElement>) => void—ドラッグが終わり、ドロワーがスナップ位置で停止すると呼び出します。
onPointerCancel(event: PointerEvent<HTMLDivElement>) => void—ブラウザーがドラッグをキャンセルすると呼び出します。

キーボード

キー操作
Enter / Spaceトリガーからダイアログを開く、またはCloseを実行
Escapedismissがnoneでなければ終了を要求
Tab / Shift+Tabモーダルダイアログ内を移動

アクセシビリティ

DrawerPanelは対象IDでつないだdialogを使うため、ハイドレーション前から開閉、フォーカスの封じ込め、フォーカスの復帰が動作します。dismissは背景とEscapeを制御します。パネルの幅はsm、md、lg、fullで、スマートフォンではボトムシートになります。スワイプはハンドルまたはヘッダーから始めるため、本文は引き続きスクロールできます。クライアントAPIは制御状態とスナップ位置を追加します。

スタイリングのフック

data-uiify-drawerdata-partdata-sidedata-sizedata-backdropdata-statedata-dragging--uiify-drawer-inline-size--uiify-drawer-transform--uiify-sheet-offset
このページは機械翻訳によるもので、レビューは未実施です。