1
0
Fork 0
mirror of synced 2024-07-07 23:35:49 +12:00
budibase/packages/bbui/src/Notification/NotificationDisplay.svelte

37 lines
878 B
Svelte

<script>
import "@spectrum-css/toast/dist/index-vars.css"
import Portal from "svelte-portal"
import { flip } from "svelte/animate"
import { notifications } from "../Stores/notifications"
import Notification from "./Notification.svelte"
import { fly } from "svelte/transition"
</script>
<Portal target=".modal-container">
<div class="notifications">
{#each $notifications as { type, icon, message, id } (id)}
<div animate:flip transition:fly={{ y: -30 }}>
<Notification {type} {icon} {message} />
</div>
{/each}
</div>
</Portal>
<style>
.notifications {
position: fixed;
top: 20px;
left: 0;
right: 0;
margin: 0 auto;
padding: 0;
z-index: 9999;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
pointer-events: none;
gap: 10px;
}
</style>