{"version":3,"file":"message.mjs","sources":["../../../../../../packages/components/message/src/message.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\nimport { buildProps, definePropType, iconPropType, mutable } from '@bigin/utils'\nimport type { AppContext, ExtractPropTypes, VNode } from 'vue'\nimport type { Mutable } from '@bigin/utils'\nimport type MessageConstructor from './message.vue'\n\nexport const messageTypes = ['success', 'info', 'warning', 'error'] as const\n\nexport type messageType = (typeof messageTypes)[number]\n\nexport interface MessageConfigContext {\n  max?: number\n}\n\nexport const messageDefaults = mutable({\n  customClass: '',\n  center: false,\n  dangerouslyUseHTMLString: false,\n  duration: 3000,\n  icon: undefined,\n  id: '',\n  message: '',\n  onClose: undefined,\n  showClose: false,\n  type: 'info',\n  offset: 16,\n  zIndex: 0,\n  grouping: false,\n  repeatNum: 1,\n  appendTo: isClient ? document.body : (undefined as never),\n} as const)\n\nexport const messageProps = buildProps({\n  customClass: {\n    type: String,\n    default: messageDefaults.customClass,\n  },\n  center: {\n    type: Boolean,\n    default: messageDefaults.center,\n  },\n  dangerouslyUseHTMLString: {\n    type: Boolean,\n    default: messageDefaults.dangerouslyUseHTMLString,\n  },\n  duration: {\n    type: Number,\n    default: messageDefaults.duration,\n  },\n  icon: {\n    type: iconPropType,\n    default: messageDefaults.icon,\n  },\n  id: {\n    type: String,\n    default: messageDefaults.id,\n  },\n  message: {\n    type: definePropType<string | VNode | (() => VNode)>([\n      String,\n      Object,\n      Function,\n    ]),\n    default: messageDefaults.message,\n  },\n  onClose: {\n    type: definePropType<() => void>(Function),\n    required: false,\n  },\n  showClose: {\n    type: Boolean,\n    default: messageDefaults.showClose,\n  },\n  type: {\n    type: String,\n    values: messageTypes,\n    default: messageDefaults.type,\n  },\n  offset: {\n    type: Number,\n    default: messageDefaults.offset,\n  },\n  zIndex: {\n    type: Number,\n    default: messageDefaults.zIndex,\n  },\n  grouping: {\n    type: Boolean,\n    default: messageDefaults.grouping,\n  },\n  repeatNum: {\n    type: Number,\n    default: messageDefaults.repeatNum,\n  },\n} as const)\nexport type MessageProps = ExtractPropTypes<typeof messageProps>\n\nexport const messageEmits = {\n  destroy: () => true,\n}\nexport type MessageEmits = typeof messageEmits\n\nexport type MessageInstance = InstanceType<typeof MessageConstructor>\n\nexport type MessageOptions = Partial<\n  Mutable<\n    Omit<MessageProps, 'id'> & {\n      appendTo?: HTMLElement | string\n    }\n  >\n>\nexport type MessageParams = MessageOptions | MessageOptions['message']\nexport type MessageParamsNormalized = Omit<MessageProps, 'id'> & {\n  appendTo: HTMLElement\n}\nexport type MessageOptionsWithType = Omit<MessageOptions, 'type'>\nexport type MessageParamsWithType =\n  | MessageOptionsWithType\n  | MessageOptions['message']\n\nexport interface MessageHandler {\n  close: () => void\n}\n\nexport type MessageFn = {\n  (options?: MessageParams, appContext?: null | AppContext): MessageHandler\n  closeAll(type?: messageType): void\n}\nexport type MessageTypedFn = (\n  options?: MessageParamsWithType,\n  appContext?: null | AppContext\n) => MessageHandler\n\nexport interface Message extends MessageFn {\n  success: MessageTypedFn\n  warning: MessageTypedFn\n  info: MessageTypedFn\n  error: MessageTypedFn\n}\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,YAAe,GAAA,CAAC,SAAW,EAAA,MAAA,EAAQ,WAAW,OAAO,EAAA;AAQ3D,MAAM,kBAAkB,OAAQ,CAAA;AAAA,EACrC,WAAa,EAAA,EAAA;AAAA,EACb,MAAQ,EAAA,KAAA;AAAA,EACR,wBAA0B,EAAA,KAAA;AAAA,EAC1B,QAAU,EAAA,GAAA;AAAA,EACV,IAAM,EAAA,KAAA,CAAA;AAAA,EACN,EAAI,EAAA,EAAA;AAAA,EACJ,OAAS,EAAA,EAAA;AAAA,EACT,OAAS,EAAA,KAAA,CAAA;AAAA,EACT,SAAW,EAAA,KAAA;AAAA,EACX,IAAM,EAAA,MAAA;AAAA,EACN,MAAQ,EAAA,EAAA;AAAA,EACR,MAAQ,EAAA,CAAA;AAAA,EACR,QAAU,EAAA,KAAA;AAAA,EACV,SAAW,EAAA,CAAA;AAAA,EACX,QAAA,EAAU,QAAW,GAAA,QAAA,CAAS,IAAQ,GAAA,KAAA,CAAA;AACxC,CAAU,EAAA;AAEH,MAAM,eAAe,UAAW,CAAA;AAAA,EACrC,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,eAAgB,CAAA,WAAA;AAAA,GAC3B;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,OAAA;AAAA,IACN,SAAS,eAAgB,CAAA,MAAA;AAAA,GAC3B;AAAA,EACA,wBAA0B,EAAA;AAAA,IACxB,IAAM,EAAA,OAAA;AAAA,IACN,SAAS,eAAgB,CAAA,wBAAA;AAAA,GAC3B;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,eAAgB,CAAA,QAAA;AAAA,GAC3B;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,YAAA;AAAA,IACN,SAAS,eAAgB,CAAA,IAAA;AAAA,GAC3B;AAAA,EACA,EAAI,EAAA;AAAA,IACF,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,eAAgB,CAAA,EAAA;AAAA,GAC3B;AAAA,EACA,OAAS,EAAA;AAAA,IACP,MAAM,cAA+C,CAAA;AAAA,MACnD,MAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,KACD,CAAA;AAAA,IACD,SAAS,eAAgB,CAAA,OAAA;AAAA,GAC3B;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,QAAQ,CAAA;AAAA,IACzC,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,SAAS,eAAgB,CAAA,SAAA;AAAA,GAC3B;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,YAAA;AAAA,IACR,SAAS,eAAgB,CAAA,IAAA;AAAA,GAC3B;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,eAAgB,CAAA,MAAA;AAAA,GAC3B;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,eAAgB,CAAA,MAAA;AAAA,GAC3B;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,SAAS,eAAgB,CAAA,QAAA;AAAA,GAC3B;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,eAAgB,CAAA,SAAA;AAAA,GAC3B;AACF,CAAU,EAAA;AAGH,MAAM,YAAe,GAAA;AAAA,EAC1B,SAAS,MAAM,IAAA;AACjB;;;;"}