@atlrdsgn/kit
Version:
An ever–expanding library of React components, primitives, and tools
50 lines • 1.42 kB
TypeScript
import { ToastActionElement, ToastPrimitive } from './toast';
import * as React from 'react';
type ToasterToast = ToastPrimitive & {
id: string;
title?: React.ReactNode;
description?: React.ReactNode;
action?: ToastActionElement;
};
declare const actionTypes: {
readonly ADD_TOAST: "ADD_TOAST";
readonly UPDATE_TOAST: "UPDATE_TOAST";
readonly DISMISS_TOAST: "DISMISS_TOAST";
readonly REMOVE_TOAST: "REMOVE_TOAST";
};
type ActionType = typeof actionTypes;
type Action = {
type: ActionType['ADD_TOAST'];
toast: ToasterToast;
} | {
type: ActionType['UPDATE_TOAST'];
toast: Partial<ToasterToast>;
} | {
type: ActionType['DISMISS_TOAST'];
toastId?: ToasterToast['id'];
} | {
type: ActionType['REMOVE_TOAST'];
toastId?: ToasterToast['id'];
};
interface State {
toasts: ToasterToast[];
}
export declare const reducer: (state: State, action: Action) => State;
interface Toast extends Omit<ToasterToast, 'id'> {
}
declare const toast: ({ ...props }: Toast) => {
id: string;
dismiss: () => void;
update: (props: ToasterToast) => void;
};
declare const useToast: () => {
toast: ({ ...props }: Toast) => {
id: string;
dismiss: () => void;
update: (props: ToasterToast) => void;
};
dismiss: (toastId?: string) => void;
toasts: ToasterToast[];
};
export { useToast, toast };
//# sourceMappingURL=use-toast.d.ts.map