mirror of
https://github.com/wukko/cobalt.git
synced 2025-03-30 06:11:37 +02:00
36 lines
852 B
Svelte
36 lines
852 B
Svelte
<script lang="ts">
|
|
import { tick } from "svelte";
|
|
import { killDialog } from "$lib/dialogs";
|
|
|
|
import DialogBackdropClose from "$components/dialog/DialogBackdropClose.svelte";
|
|
|
|
export let id: string;
|
|
|
|
let dialogParent: HTMLDialogElement;
|
|
|
|
let open = false;
|
|
let closing = false;
|
|
|
|
export const close = () => {
|
|
if (dialogParent) {
|
|
closing = true;
|
|
open = false;
|
|
setTimeout(() => {
|
|
dialogParent.close();
|
|
killDialog();
|
|
}, 150);
|
|
}
|
|
};
|
|
|
|
$: if (dialogParent) {
|
|
dialogParent.showModal();
|
|
tick().then(() => {
|
|
open = true;
|
|
});
|
|
}
|
|
</script>
|
|
|
|
<dialog id="dialog-{id}" bind:this={dialogParent} class:closing class:open>
|
|
<slot></slot>
|
|
<DialogBackdropClose closeFunc={close} />
|
|
</dialog>
|