sonner
This commit is contained in:
parent
3925f4e67a
commit
9c221fa828
1
src/lib/components/ui/sonner/index.ts
Normal file
1
src/lib/components/ui/sonner/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export { default as Toaster } from "./sonner.svelte";
|
||||||
34
src/lib/components/ui/sonner/sonner.svelte
Normal file
34
src/lib/components/ui/sonner/sonner.svelte
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { Toaster as Sonner, type ToasterProps as SonnerProps } from "svelte-sonner";
|
||||||
|
import { mode } from "mode-watcher";
|
||||||
|
import Loader2Icon from '@lucide/svelte/icons/loader-2';
|
||||||
|
import CircleCheckIcon from '@lucide/svelte/icons/circle-check';
|
||||||
|
import OctagonXIcon from '@lucide/svelte/icons/octagon-x';
|
||||||
|
import InfoIcon from '@lucide/svelte/icons/info';
|
||||||
|
import TriangleAlertIcon from '@lucide/svelte/icons/triangle-alert';
|
||||||
|
|
||||||
|
let { ...restProps }: SonnerProps = $props();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Sonner
|
||||||
|
theme={mode.current}
|
||||||
|
class="toaster group"
|
||||||
|
style="--normal-bg: var(--color-popover); --normal-text: var(--color-popover-foreground); --normal-border: var(--color-border);"
|
||||||
|
{...restProps}
|
||||||
|
>
|
||||||
|
{#snippet loadingIcon()}
|
||||||
|
<Loader2Icon class="size-4 animate-spin" />
|
||||||
|
{/snippet}
|
||||||
|
{#snippet successIcon()}
|
||||||
|
<CircleCheckIcon class="size-4" />
|
||||||
|
{/snippet}
|
||||||
|
{#snippet errorIcon()}
|
||||||
|
<OctagonXIcon class="size-4" />
|
||||||
|
{/snippet}
|
||||||
|
{#snippet infoIcon()}
|
||||||
|
<InfoIcon class="size-4" />
|
||||||
|
{/snippet}
|
||||||
|
{#snippet warningIcon()}
|
||||||
|
<TriangleAlertIcon class="size-4" />
|
||||||
|
{/snippet}
|
||||||
|
</Sonner>
|
||||||
Loading…
Reference in New Issue
Block a user