UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

110 lines (109 loc) 3.54 kB
import type * as React from 'react'; import type { ClosableType } from '../_util/hooks'; import type { GenerateSemantic } from '../_util/hooks/useMergeSemantic/semanticType'; interface DivProps extends React.HTMLProps<HTMLDivElement> { 'data-testid'?: string; } export declare const NotificationPlacements: readonly ["top", "topLeft", "topRight", "bottom", "bottomLeft", "bottomRight"]; export type NotificationPlacement = (typeof NotificationPlacements)[number]; export type IconType = 'success' | 'info' | 'error' | 'warning'; export type NotificationSemanticType = { classNames?: { list?: string; listContent?: string; wrapper?: string; root?: string; title?: string; description?: string; actions?: string; icon?: string; section?: string; close?: string; progress?: string; }; styles?: { list?: React.CSSProperties; listContent?: React.CSSProperties; wrapper?: React.CSSProperties; root?: React.CSSProperties; title?: React.CSSProperties; description?: React.CSSProperties; actions?: React.CSSProperties; icon?: React.CSSProperties; section?: React.CSSProperties; close?: React.CSSProperties; progress?: React.CSSProperties; }; }; export type NotificationSemanticAllType = GenerateSemantic<NotificationSemanticType, ArgsProps>; export interface ArgsProps { /** @deprecated Please use `title` instead */ message?: React.ReactNode; title?: React.ReactNode; description?: React.ReactNode; /** @deprecated Please use `actions` instead */ btn?: React.ReactNode; actions?: React.ReactNode; key?: React.Key; onClose?: () => void; duration?: number | false; showProgress?: boolean; pauseOnHover?: boolean; icon?: React.ReactNode; placement?: NotificationPlacement; style?: React.CSSProperties; className?: string; classNames?: NotificationSemanticAllType['classNamesAndFn']; styles?: NotificationSemanticAllType['stylesAndFn']; readonly type?: IconType; onClick?: () => void; closeIcon?: React.ReactNode; closable?: boolean | null | (Exclude<NonNullable<ClosableType>, boolean> & { onClose?: () => void; }); props?: DivProps; role?: 'alert' | 'status'; } type StaticFn = (args: ArgsProps) => void; export interface NotificationInstance { success: StaticFn; error: StaticFn; info: StaticFn; warning: StaticFn; open: StaticFn; destroy: (key?: React.Key) => void; } export interface GlobalConfigProps { top?: number; bottom?: number; duration?: number | false; showProgress?: boolean; pauseOnHover?: boolean; prefixCls?: string; getContainer?: () => HTMLElement | ShadowRoot; placement?: NotificationPlacement; closeIcon?: React.ReactNode; closable?: ClosableType; rtl?: boolean; maxCount?: number; props?: DivProps; } export interface NotificationConfig { top?: number; bottom?: number; prefixCls?: string; getContainer?: () => HTMLElement | ShadowRoot; placement?: NotificationPlacement; maxCount?: number; rtl?: boolean; stack?: boolean | { threshold?: number; }; duration?: number | false; showProgress?: boolean; pauseOnHover?: boolean; closeIcon?: React.ReactNode; classNames?: NotificationSemanticAllType['classNamesAndFn']; styles?: NotificationSemanticAllType['stylesAndFn']; } export {};