Files
classroomio/src/components/Modal/index.svelte
T

47 lines
1.1 KiB
Svelte
Raw Normal View History

2021-07-17 22:29:12 +03:00
<script>
2021-07-22 08:04:48 +03:00
import { afterUpdate } from 'svelte';
2021-07-17 22:29:12 +03:00
import CloseButton from '../Buttons/Close/index.svelte';
export let open;
export let onClose;
export let modalHeading;
2021-07-22 08:04:48 +03:00
export let width;
afterUpdate(() => {
if (open) {
document.getElementsByTagName('body')[0].style.overflow = 'hidden';
} else {
document.getElementsByTagName('body')[0].style.overflow = 'auto';
}
});
2021-07-17 22:29:12 +03:00
</script>
{#if open}
<div
class="dialog fixed overflow-x-hidden overflow-y-auto inset-0 flex justify-center items-center z-50 bg-gray-100 bg-opacity-50"
>
<div aria-hidden="true" class="backdrop" />
2021-07-22 08:04:48 +03:00
<div class="bg-white mx-auto {width} shadow-lg p-5 pt-2 rounded-md">
2021-07-17 22:29:12 +03:00
<div class="flex items-center justify-between mb-4">
<h3 class="text-xl m-0">
{modalHeading}
</h3>
<CloseButton onClick={onClose} contained={true} />
</div>
2021-07-22 08:04:48 +03:00
<div class="body h-4/5 overflow-y-auto">
<slot />
</div>
2021-07-17 22:29:12 +03:00
</div>
</div>
{/if}
<style>
.dialog {
background-color: rgba(0, 0, 0, 0.5);
}
2021-07-22 08:04:48 +03:00
.body {
max-height: 60vh;
}
2021-07-17 22:29:12 +03:00
</style>