Spaces:
Running
Running
| <script lang="ts"> | |
| import { browser } from "$app/environment"; | |
| export let open: boolean = false; | |
| export let onClose: () => void; | |
| if (browser) { | |
| if (open) { | |
| document.body.style.overflow = "hidden"; | |
| } else { | |
| document.body.style.overflow = "auto"; | |
| } | |
| } | |
| </script> | |
| <!-- svelte-ignore a11y-click-events-have-key-events --> | |
| <!-- svelte-ignore a11y-no-noninteractive-element-interactions --> | |
| <div | |
| aria-labelledby="modal-container" | |
| role="dialog" | |
| class="bg-neutral-950/10 backdrop-blur-[2px] fixed top-0 left-0 h-full w-full flex items-center justify-center py-12 z-50 transition-all duration-200" class:opacity-0={!open} class:pointer-events-none={!open} | |
| on:click={() => onClose()} | |
| > | |
| <div | |
| aria-labelledby="modal-dialog" | |
| aria-describedby="modal-description" | |
| role="dialog" | |
| class="max-w-xl w-full bg-neutral-900 rounded-lg p-8 border border-neutral-800 text-neutral-400 shadow-xl transition-all duration-500 relative" | |
| class:-translate-y-5={!open} | |
| on:click={(e) => { | |
| e.stopPropagation(); | |
| e.preventDefault(); | |
| }} | |
| > | |
| <slot /> | |
| </div> | |
| </div> |