UNPKG

element-plus

Version:

A Component Library for Vue 3

159 lines (156 loc) 3.42 kB
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs'; import { mutable } from '../../../utils/typescript.mjs'; import { iconPropType } from '../../../utils/vue/icon.mjs'; import { isClient } from '@vueuse/core'; const messageTypes = [ "primary", "success", "info", "warning", "error" ]; const messagePlacement = [ "top", "top-left", "top-right", "bottom", "bottom-left", "bottom-right" ]; const MESSAGE_DEFAULT_PLACEMENT = "top"; const messageDefaults = mutable({ customClass: "", dangerouslyUseHTMLString: false, duration: 3e3, icon: void 0, id: "", message: "", onClose: void 0, showClose: false, type: "info", plain: false, offset: 16, placement: void 0, zIndex: 0, grouping: false, repeatNum: 1, appendTo: isClient ? document.body : void 0 }); const messageProps = buildProps({ /** * @description custom class name for Message */ customClass: { type: String, default: messageDefaults.customClass }, /** * @description whether `message` is treated as HTML string */ dangerouslyUseHTMLString: { type: Boolean, default: messageDefaults.dangerouslyUseHTMLString }, /** * @description display duration, millisecond. If set to 0, it will not turn off automatically */ duration: { type: Number, default: messageDefaults.duration }, /** * @description custom icon component, overrides `type` */ icon: { type: iconPropType, default: messageDefaults.icon }, /** * @description message dom id */ id: { type: String, default: messageDefaults.id }, /** * @description message text */ message: { type: definePropType([ String, Object, Function ]), default: messageDefaults.message }, /** * @description callback function when closed with the message instance as the parameter */ onClose: { type: definePropType(Function), default: messageDefaults.onClose }, /** * @description whether to show a close button */ showClose: { type: Boolean, default: messageDefaults.showClose }, /** * @description message type */ type: { type: String, values: messageTypes, default: messageDefaults.type }, /** * @description whether message is plain */ plain: { type: Boolean, default: messageDefaults.plain }, /** * @description set the distance to the top of viewport */ offset: { type: Number, default: messageDefaults.offset }, /** * @description message placement position */ placement: { type: String, values: messagePlacement, default: messageDefaults.placement }, /** * @description message element zIndex value */ zIndex: { type: Number, default: messageDefaults.zIndex }, /** * @description merge messages with the same content, type of VNode message is not supported */ grouping: { type: Boolean, default: messageDefaults.grouping }, /** * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping` */ repeatNum: { type: Number, default: messageDefaults.repeatNum } }); const messageEmits = { destroy: () => true }; export { MESSAGE_DEFAULT_PLACEMENT, messageDefaults, messageEmits, messagePlacement, messageProps, messageTypes }; //# sourceMappingURL=message.mjs.map