| | |
| | | function click(this: HTMLElement, e: HTMLElementEventMap["click"]) { |
| | | if (e.target !== this) return |
| | | e.preventDefault() |
| | | e.stopPropagation() |
| | | cb() |
| | | } |
| | | |
| | |
| | | cb() |
| | | } |
| | | |
| | | outsideContainer?.removeEventListener("click", click) |
| | | outsideContainer?.addEventListener("click", click) |
| | | document.removeEventListener("keydown", esc) |
| | | window.addCleanup(() => outsideContainer?.removeEventListener("click", click)) |
| | | document.addEventListener("keydown", esc) |
| | | window.addCleanup(() => document.removeEventListener("keydown", esc)) |
| | | } |
| | | |
| | | export function removeAllChildren(node: HTMLElement) { |