demo · v131
<dialog> fires ToggleEvent
Just like <details>, the dialog element fires beforetoggle and toggle events with oldState and newState. Open and close the dialog below and watch the events arrive.
the api
const dlg = document.querySelector("dialog");
dlg.addEventListener("beforetoggle", (e) => {
console.log(e.oldState, "->", e.newState); // "closed -> open"
});
dlg.addEventListener("toggle", (e) => {
console.log("settled:", e.newState);
});