index.d.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import type { CSSProperties } from 'vue';
  2. import type { Key, VueNode } from '../_util/type';
  3. import type { NotificationInstance } from '../vc-notification/Notification';
  4. import useMessage from './useMessage';
  5. export declare function getKeyThenIncreaseKey(): number;
  6. export interface ConfigOptions {
  7. top?: string;
  8. duration?: number;
  9. prefixCls?: string;
  10. getContainer?: () => HTMLElement;
  11. transitionName?: string;
  12. maxCount?: number;
  13. rtl?: boolean;
  14. }
  15. export type NoticeType = 'info' | 'success' | 'error' | 'warning' | 'loading';
  16. export interface ThenableArgument {
  17. (val: any): void;
  18. }
  19. export declare const typeList: NoticeType[];
  20. export interface MessageType extends PromiseLike<any> {
  21. (): void;
  22. }
  23. export interface MessageArgsProps {
  24. content: string | (() => VueNode) | VueNode;
  25. duration?: number;
  26. type?: NoticeType;
  27. prefixCls?: string;
  28. rootPrefixCls?: string;
  29. getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
  30. onClose?: () => void;
  31. icon?: (() => VueNode) | VueNode;
  32. key?: string | number;
  33. style?: CSSProperties;
  34. class?: string;
  35. appContext?: any;
  36. onClick?: (e: MouseEvent) => void;
  37. }
  38. type ConfigDuration = number;
  39. type JointContent = VueNode | MessageArgsProps;
  40. export type ConfigOnClose = () => void;
  41. export declare function attachTypeApi(originalApi: MessageApi, type: NoticeType): void;
  42. export interface MessageInstance {
  43. info(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType;
  44. success(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType;
  45. error(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType;
  46. warning(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType;
  47. loading(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType;
  48. open(args: MessageArgsProps): MessageType;
  49. useMessage: typeof useMessage;
  50. }
  51. export interface MessageApi extends MessageInstance {
  52. warn(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType;
  53. config(options: ConfigOptions): void;
  54. destroy(messageKey?: Key): void;
  55. }
  56. /** @private test Only function. Not work on production */
  57. export declare const getInstance: () => NotificationInstance;
  58. declare const _default: MessageApi;
  59. export default _default;