Modal · overlay
ESC, backdrop click, and ✕ all close it; body scroll locks while open.
Usage
import { signal } from "./index.js";import { Modal } from "./components/modal.js"; const open = signal(false); // ESC, backdrop, and ✕ all close it; body scroll locks and Tab is trapped inside.Modal({ open, title: "Subscribe", children: html`<p>Dialog body…</p>`, footer: html`${Button({ label: "Confirm", onClick: () => open.set(false) })}`,})