Skip to content
fandhe-frontend
GitHub

Floating Panel

fandhe-frontend-pre-styled-uifloating_panel mod が提供するスタイル済み Floating Panel 部品です。 ドラッグ移動・リサイズ可能な浮遊パネルで、開閉に加えて default/minimized/ maximized の 3 値を持つ独自状態 Stage を管理します。非モーダル overlay の ため contentrole="dialog" のみを付与し aria-modal は出力しません (ユーザーは他の要素を操作し続けられます)。

関連 API: fandhe-frontend-pre-styled-ui API / fandhe-frontend-headless-ui API

Demo

headless-ui の FloatingPanel(role="dialog"、非モーダル)に pre-styled-ui の recipe CSS を適用した静的掲示です。stage="default" の状態を固定表示しています。positioner はフロー内配置へ中和しています(実際のドラッグ移動・overlay 配置は recipe CSS/wasm 層が担います)。

Features

  • ドラッグ移動・リサイズ可能な浮遊パネル。Root / Trigger / Positioner / Content / Header / Title / Control / StageTrigger / CloseTrigger / Body の 10 anatomy パーツを持つ。
  • 開閉(crate::state::Disclosure 埋め込み)に加え、default/minimized/maximized の 3 値を持つ独自状態 Stage を管理する。
  • content は非モーダル overlay のため role="dialog" のみを付与し、aria-modal は出力しない(ユーザーは他の要素を操作し続けられる)。
  • 座標は --fandhe-x / --fandhe-y CSS 変数として出力する(実際のドラッグ操作の DOM 配線は wasm-full 側の後続スコープ)。

Anatomy

root
  trigger
  positioner
    content
      header
        title
        control
          stage-trigger
          close-trigger
      body

API Reference

Arguments

NameTypeDefaultDescription
stateOpenState開閉状態(Open/Closed)。
stageStageパネルの表示段階(default/minimized/maximized)。data-stage へ反映される。

Data Attributes

PartAttributeObserved Values
bodydata-stagedefault
contentdata-stagedefault
contentdata-stateopen
positionerdata-stagedefault
positionerdata-stateopen
rootdata-stagedefault
rootdata-stateopen
stage-triggerdata-stagemaximized, minimized
triggerdata-stateopen

Accessibility

WAI-ARIA

AttributeDescription
aria-haspopup="dialog"trigger に固定付与。
aria-expanded / aria-controlstrigger に付与。開閉状態と対応する content の id を表す。
role="dialog"content に固定付与。aria-modal は出力しない(非モーダル overlay)。
aria-labelledbycontent に付与。対応する title が設定されているときのみ出力される。