{"version":3,"file":"message.mjs","sources":["../../../../../../packages/components/message/src/message.ts"],"sourcesContent":["import { buildProps, definePropType } from '@sgui-plus/utils/props'\r\n\r\nimport type { VNode, ExtractPropTypes, Component } from 'vue'\r\n\r\nexport const messageTypes = ['primary', 'success', 'info', 'warning', 'error'] as const\r\n\r\nexport interface MessageConfigContext {\r\n  max?: number\r\n}\r\n\r\nexport const messageProps = buildProps({\r\n  customClass: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  center: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  duration: {\r\n    type: Number,\r\n    default: 4000,\r\n  },\r\n  icon: {\r\n    type: definePropType<string | Component>([String, Object]),\r\n    default: '',\r\n  },\r\n  id: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  content: {\r\n    type: definePropType<string | VNode>([String, Object]),\r\n    default: '',\r\n  },\r\n  description: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  onClose: {\r\n    type: definePropType<() => void>(Function),\r\n    required: false,\r\n  },\r\n  closable: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  type: {\r\n    type: String,\r\n    values: messageTypes,\r\n    default: 'primary',\r\n  },\r\n  top: {\r\n    type: Number,\r\n    default: 20,\r\n  },\r\n  zIndex: {\r\n    type: Number,\r\n    default: 0,\r\n  },\r\n  grouping: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  repeatNum: {\r\n    type: Number,\r\n    default: 1,\r\n  },\r\n} as const)\r\nexport type MessageProps = ExtractPropTypes<typeof messageProps>\r\n\r\nexport const messageEmits = {\r\n  destroy: () => true\r\n}\r\nexport type MessageEmits = typeof messageEmits\r\n\r\nexport type MessageOptions = Omit<MessageProps, 'id'>\r\nexport type MessageOptionsTyped = Omit<MessageOptions, 'type'>\r\n\r\nexport interface MessageHandle {\r\n  close: () => void\r\n}\r\n\r\nexport type MessageParams = Partial<MessageOptions> | string | VNode\r\nexport type MessageParamsTyped = Partial<MessageOptionsTyped> | string | VNode\r\n\r\nexport type MessageFn = ((options?: MessageParams) => MessageHandle) & {\r\n  closeAll(): void\r\n}\r\nexport type MessageTypedFn = (options?: MessageParamsTyped) => MessageHandle\r\n\r\nexport interface Message extends MessageFn {\r\n  success: MessageTypedFn\r\n  warning: MessageTypedFn\r\n  info: MessageTypedFn\r\n  error: MessageTypedFn\r\n}\r\n\r\ntype MessageQueueItem = {\r\n  vm: VNode\r\n}\r\n\r\nexport type MessageQueue = MessageQueueItem[]\r\n"],"names":[],"mappings":";;AACY,MAAC,YAAY,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE;AACnE,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,QAAQ,EAAE,KAAK;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,YAAY;AACxB,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC,EAAE;AACS,MAAC,YAAY,GAAG;AAC5B,EAAE,OAAO,EAAE,MAAM,IAAI;AACrB;;;;"}