A panel anchored to what opened it: position, click outside, Escape and focus return, all in one place.
IngotMenu stands on exactly this.MENU_LAYER layer keeps it above, not under.IngotModal. A popover deliberately does not trap focus, so Tab leaves it.IngotDrawer.IngotTooltip; a popover is for content you work with.open: boolean — Controlled — the caller owns the state, as with every overlay in the kit.anchorRef: RefObject<HTMLElement | null> — The element the panel hangs from. A click on it does not close the panel — it is a toggle.onClose: () => void — Called by Escape and by a click outside. Escape also returns focus to the anchor.placement: "bottom-start" | "bottom-end" | "top-start" | "top-end" — The preferred side. When there is no room below the anchor and there is above, it flips.label: string — Translated name of the panel. Required: an unnamed panel is announced as just a group.className: string — The panel's layout only — width, padding.testId: string — An anchor for tests.