fix(web): consistent modal escape behavior (#7677)

* fix(web): consistent modal escape behavior

* make onClose optional
This commit is contained in:
Michel Heusschen 2024-03-07 04:18:53 +01:00 committed by GitHub
parent 3da2b05428
commit 5dd11ca17a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
39 changed files with 111 additions and 123 deletions

View file

@ -1,12 +1,8 @@
<script lang="ts">
import { clickOutside } from '../../utils/click-outside';
import { createEventDispatcher } from 'svelte';
import { fade } from 'svelte/transition';
const dispatch = createEventDispatcher<{
clickOutside: void;
escape: void;
}>();
export let onClose: (() => void) | undefined = undefined;
</script>
<section
@ -14,12 +10,7 @@
out:fade={{ duration: 100 }}
class="fixed left-0 top-0 z-[9990] flex h-screen w-screen place-content-center place-items-center bg-black/40"
>
<div
class="z-[9999]"
use:clickOutside
on:outclick={() => dispatch('clickOutside')}
on:escape={() => dispatch('escape')}
>
<div class="z-[9999]" use:clickOutside={{ onOutclick: onClose, onEscape: onClose }}>
<slot />
</div>
</section>