diff options
Diffstat (limited to 'src/routes/+layout.svelte')
| -rw-r--r-- | src/routes/+layout.svelte | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 9ad33ca9..71d74adb 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -143,8 +143,15 @@ const handleScroll = () => { const detailsAnimations = new WeakMap<HTMLDetailsElement, Animation>(); const animateDetails = (e: MouseEvent) => { - const summary = (e.target as HTMLElement | null)?.closest("summary"); + const target = e.target as HTMLElement | null; + const summary = target?.closest("summary"); if (!summary) return; + + if (target?.closest("button, a, input, select, textarea, label")) { + e.preventDefault(); + return; + } + const details = summary.parentElement as HTMLDetailsElement | null; if (!details || details.tagName !== "DETAILS") return; if (reducesMotion()) return; |