• One stack per widget. Each module opens and closes its own panel; what none of them can know is what else is open. The stack knows: Escape closes only the newest thing, Tab stays inside it, a press outside closes a popover but not a dialog, and focus goes back where it came from.

    Parameters

    • root: HTMLElement
    • doc: Document

    Returns OverlayStack