UNPKG

react-awesome-toasts

Version:

Higly customisable React toast notifications with automanaged queue

39 lines (38 loc) 1.2 kB
import * as React from 'react'; declare type ToastPosition = 'top-left' | 'bottom-left' | 'top-right' | 'bottom-right' | 'top-center' | 'bottom-center'; export interface ToastContext<T = object> { show: (props: T) => void; hide: () => void; } export interface ToastConsumerProps { children: (context: ToastContext) => React.ReactNode; } export interface ToastProviderProps { timeout: number; component: React.ComponentClass; position: ToastPosition; children: React.ReactNode; } export interface ToastProviderQueueItem { props: object; id: string; } export interface ToastProviderState { toasts: Array<ToastProviderQueueItem>; } export interface ToastContainerProps<T = object> { onHide: () => void; onRemove: () => void; toastProps: T; component: React.ComponentClass; timeout: number; position: ToastPosition; } export interface ToastContainerState { status: 'entering' | 'entered' | 'exiting' | 'exited'; } declare type WithToastComponent = React.ComponentClass<{ toast: ToastContext; } & object>; export declare type WithToast = (component: WithToastComponent) => (props: object) => React.ReactElement<any>; export {};