UNPKG

@blockstack/ui

Version:

Blockstack UI components built using React and styled-components with styled-system.

49 lines (48 loc) 1.31 kB
import { ReactNode } from 'react'; import { BoxProps } from '../box'; import { FlexProps } from '../flex'; interface IconProps extends Omit<BoxProps, 'color'> { color?: { critical?: BoxProps['color']; positive?: BoxProps['color']; }; } interface ToastStyleProps { message?: BoxProps; description?: BoxProps; toast?: BoxProps; icon?: IconProps; close?: BoxProps; action?: Omit<BoxProps, 'onClick'>; } export interface ToastAction extends Omit<BoxProps, 'onClick'> { label: string; onClick: () => void; } export interface ActionProps extends ToastAction { removeToast: () => void; } declare type Tone = 'positive' | 'critical' | 'none'; export interface ToastType { id: string; tone?: Tone; message: string; description?: string; action?: ToastAction; toastProps?: ToastStyleProps; } export interface ToastProps extends ToastType { onClear: (id: string) => void; } export interface ToasterProps extends FlexProps { toasts: ToastType[]; removeToast: (id: string) => void; } export interface ToastState { toasts: ToastType[]; } export declare type AddToast = (toast: ToastType) => void; export interface ToastProviderProps { children: ReactNode; } export {};