Interface FloatingPanelBaseParams

interface FloatingPanelBaseParams {
    classPrefix: string;
    container?: HTMLElement;
    minHeight?: number;
    minWidth?: number;
    modal?: boolean;
    resizable?: boolean;
    storageKey: string;
    tier?: "default" | "view";
}

Properties

classPrefix: string

CSS class-name prefix used by the subclass's stylesheet (e.g. "xkt-sh"). The base only uses it to compose the ${prefix}-dragging class added to _header while a drag is in flight.

container?: HTMLElement

DOM container for the panel + pill. Defaults to document.body.

minHeight?: number

Minimum height the resize handles will allow, in CSS pixels. Default 200.

minWidth?: number

Minimum width the resize handles will allow, in CSS pixels. Default 280.

modal?: boolean

When true, the panel renders as a centered modal: a translucent backdrop sits behind the panel while it's visible, intercepts pointer events from anything else, and dismisses the panel on click or Escape. Subclass owns the centering CSS (top: 50%; left: 50%; transform: translate(-50%, -50%)).

resizable?: boolean

When true (the default), eight invisible drag handles (4 edges + 4 corners) are injected into _panel and the user can resize it. Resize is suppressed when modal is true. Panels that wrap a fixed-size child (NavCube) or whose internal layout doesn't tolerate width changes (Toolbar) opt out by passing false.

storageKey: string

localStorage key for the panel's drag-position + closed state. Each subclass picks a unique value (e.g. "xkt-sh-panel") so two different panels don't share a slot.

tier?: "default" | "view"

Z-index tier the panel lives in. "view" panels (hosted Views) always sit beneath "default" panels (regular demo panels and dialogs); within each tier panels still reorder on click via bringFloatingPanelToFront. Defaults to "default". See studio/floatingPanelZ for the counter ranges.