const closedBySupported = "closedBy" in HTMLDialogElement.prototype;
/**
* Safari does not yet support closedby="any", so this polyfill recreates
* the dismissal behavior
*/
if (!closedBySupported) {
window.addEventListener("load", () => {
for (const hamburger of document.querySelectorAll(
"[data-hamburger-menu]",
)) {
window.addEventListener("click", (event) => {
const rect = hamburger.getBoundingClientRect();
var isInDialog =
rect.top <= event.clientY &&
event.clientY <= rect.top + rect.height &&
rect.left <= event.clientX &&
event.clientX <= rect.left + rect.width;
if (!isInDialog) {
hamburger.close();
}
});
}
});
}