2022-05-21 02:23:55 -05:00
|
|
|
<script lang="ts">
|
2023-07-01 00:50:47 -04:00
|
|
|
import { clickOutside } from '../../utils/click-outside';
|
|
|
|
|
import { createEventDispatcher } from 'svelte';
|
|
|
|
|
import { fade } from 'svelte/transition';
|
2022-05-21 02:23:55 -05:00
|
|
|
|
2023-09-26 04:53:26 +02:00
|
|
|
const dispatch = createEventDispatcher<{
|
|
|
|
|
clickOutside: void;
|
|
|
|
|
escape: void;
|
|
|
|
|
}>();
|
2022-05-21 02:23:55 -05:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<section
|
2023-07-01 00:50:47 -04:00
|
|
|
in:fade={{ duration: 100 }}
|
|
|
|
|
out:fade={{ duration: 100 }}
|
2023-07-18 13:19:39 -05:00
|
|
|
class="fixed left-0 top-0 z-[990] flex h-screen w-screen place-content-center place-items-center bg-black/40"
|
2022-05-21 02:23:55 -05:00
|
|
|
>
|
2023-09-26 04:53:26 +02:00
|
|
|
<div
|
|
|
|
|
class="z-[9999]"
|
|
|
|
|
use:clickOutside
|
|
|
|
|
on:outclick={() => dispatch('clickOutside')}
|
|
|
|
|
on:escape={() => dispatch('escape')}
|
|
|
|
|
>
|
2023-07-01 00:50:47 -04:00
|
|
|
<slot />
|
|
|
|
|
</div>
|
2022-05-21 02:23:55 -05:00
|
|
|
</section>
|