npm install panel-api

Floating panels
for the web

Draggable, resizable, stackable panels as a plain ESM library. No build step. No dependencies. Optional ZUI integration.

drag & resize z-stacking pin to world plugin system plain ESM zero deps
npm install panel-api

Live — drag it, resize it, close it.

import panel from "panel-api";

// open a panel
const h = panel.open("", "Hello", {
  width: 360, height: 200
});

h.setHTML("<p>Hello world!</p>");

Import once, call panel.open(). The returned handle lets you set content, move, resize, minimize, and close the panel programmatically. Every behaviour — dragging, stacking, the close button — is a plugin you can replace or extend.

Full API reference