immich/web/src/lib/components/shared-components/full-screen-modal.svelte
Michel Heusschen 5dd11ca17a
fix(web): consistent modal escape behavior (#7677)
* fix(web): consistent modal escape behavior

* make onClose optional
2024-03-06 22:18:53 -05:00

17 lines
500 B
Svelte

<script lang="ts">
import { clickOutside } from '../../utils/click-outside';
import { fade } from 'svelte/transition';
export let onClose: (() => void) | undefined = undefined;
</script>
<section
in:fade={{ duration: 100 }}
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={{ onOutclick: onClose, onEscape: onClose }}>
<slot />
</div>
</section>