svelte-5-french-toast
Version:
Buttery smooth Svelte 5 toasts. Lightweight, customizable, and beautiful by default. Svelte 5 Only
19 lines (18 loc) • 883 B
TypeScript
import { type Renderable, type DefaultToastOptions, type ToastOptions, type ValueOrFunction } from './types';
type Message<T extends Record<string, any> = Record<string, any>> = Renderable<T>;
type ToastHandler = <T extends Record<string, any> = Record<string, any>>(message: Message<T>, options?: ToastOptions<T>) => string;
declare const toast: {
<T extends Record<string, any> = Record<string, any>>(message: Message<T>, opts?: ToastOptions<T>): string;
error: ToastHandler;
success: ToastHandler;
loading: ToastHandler;
custom: ToastHandler;
dismiss(toastId?: string): void;
remove(toastId?: string): void;
promise<T>(promise: Promise<T>, msgs: {
loading: Renderable;
success: ValueOrFunction<Renderable, T>;
error: ValueOrFunction<Renderable, any>;
}, opts?: DefaultToastOptions): Promise<T>;
};
export default toast;