UNPKG

@adaptui/react

Version:

Collection of headless components/hooks that are accessible, composable, customizable from low level to build your own UI & Design System powered by Reakit

34 lines (33 loc) 2.04 kB
import { DefaultToast, StateReturnType } from "./index"; export declare type DefaultToastOptions<T extends DefaultToast> = Omit<T, "id" | "visible" | "reverseOrder" | "createdAt">; export declare type DefaultToastProviderOptions<T extends DefaultToast> = Partial<DefaultToastOptions<T>>; export declare type ConfigurableToastOptions<T extends DefaultToast> = Omit<T, "visible">; export declare type ToastOptions<T extends DefaultToast> = Partial<ConfigurableToastOptions<T>>; export interface ToastStore<T extends DefaultToast> extends StateReturnType<T> { } export interface CreateToast<T extends DefaultToast, Content> { createToast: CreateToastHandler<T, Content>; } export declare type CreateToastHandler<T extends DefaultToast, Content> = (content: Content, options?: ToastOptions<T>) => T; export declare type AddToast<T extends DefaultToast, Content> = (content: Content, options?: ToastOptions<T>) => string; export declare type ShowToast<T extends DefaultToast, Content> = (content: Content, options?: ToastOptions<T>) => string; export declare type UpdateToast<T extends DefaultToast> = (toastId: string, toast: Partial<T>) => void; export declare type UpdateFieldToast<T extends DefaultToast> = (field: keyof T, fieldValue: any, toast: Partial<T>) => void; export declare type UpdateAllToast<T extends DefaultToast> = (toast: Partial<T>) => void; export declare type DismissToast = (toastId?: string) => void; export declare type RemoveToast = (toastId?: string) => void; export declare type ToastHandlers<T extends DefaultToast, Content> = { addToast: AddToast<T, Content>; showToast: ShowToast<T, Content>; updateToast: UpdateToast<T>; updateFieldToast: UpdateFieldToast<T>; updateAllToast: UpdateAllToast<T>; dismissToast: DismissToast; removeToast: RemoveToast; }; export declare type CreateToastStoreReturn<T extends DefaultToast, Content> = [ React.FC<Partial<DefaultToastOptions<T>>>, () => ToastStore<T>, () => CreateToast<T, Content>, () => ToastHandlers<T, Content> ];