Dialog shell with the accessibility floor built in: focus trap, ESC, scroll lock, aria-modal and focus returned to the trigger.
IngotDrawer.<div className="fixed inset-0 …"> again. A dialog should be exactly one thing, not as many things as there are screens — and this primitive is that one thing.IngotConfirm, which is built on top of this primitive and adds the buttons and the veto.title: ReactNode — Rendered into the h2 heading that aria-labelledby points at.onClose: () => void — Called by ESC, a backdrop click and the close button.children: ReactNode — The panel body.closeLabel: string — Translated aria-label for the close icon — the Ingot has no translations of its own.width: number — Maximum panel width in px. Defaults to 480.testId: string — data-testid of the overlay; the panel gets `${testId}-panel`.