{"version":3,"file":"message2.mjs","sources":["../../../../../../packages/components/message/src/message.vue"],"sourcesContent":["<template>\n  <transition\n    :name=\"ns.b('fade')\"\n    @before-leave=\"onClose\"\n    @after-leave=\"$emit('destroy')\"\n  >\n    <div\n      v-show=\"visible\"\n      :id=\"id\"\n      :class=\"[\n        ns.b(),\n        { [ns.m(type)]: type && !icon },\n        ns.is('center', center),\n        ns.is('closable', showClose),\n        customClass,\n      ]\"\n      :style=\"customStyle\"\n      role=\"alert\"\n      @mouseenter=\"clearTimer\"\n      @mouseleave=\"startTimer\"\n    >\n      <el-badge\n        v-if=\"repeatNum > 1\"\n        :value=\"repeatNum\"\n        :type=\"badgeType\"\n        :class=\"ns.e('badge')\"\n      />\n      <el-icon v-if=\"iconComponent\" :class=\"[ns.e('icon'), typeClass]\">\n        <component :is=\"iconComponent\" />\n      </el-icon>\n      <slot>\n        <p v-if=\"!dangerouslyUseHTMLString\" :class=\"ns.e('content')\">\n          {{ message }}\n        </p>\n        <!-- Caution here, message could've been compromised, never use user's input as message -->\n        <p v-else :class=\"ns.e('content')\" v-html=\"message\" />\n      </slot>\n      <el-icon v-if=\"showClose\" :class=\"ns.e('closeBtn')\" @click.stop=\"close\">\n        <close />\n      </el-icon>\n    </div>\n  </transition>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, onMounted, watch } from 'vue'\nimport { useEventListener, useTimeoutFn } from '@vueuse/core'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport ElBadge from '@element-plus/components/badge'\nimport { ElIcon } from '@element-plus/components/icon'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport { messageEmits, messageProps } from './message'\nimport type { BadgeProps } from '@element-plus/components/badge'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n  name: 'ElMessage',\n\n  components: {\n    ElBadge,\n    ElIcon,\n    ...TypeComponents,\n  },\n\n  props: messageProps,\n  emits: messageEmits,\n\n  setup(props) {\n    const ns = useNamespace('message')\n    const visible = ref(false)\n    const badgeType = ref<BadgeProps['type']>(\n      props.type ? (props.type === 'error' ? 'danger' : props.type) : 'info'\n    )\n    let stopTimer: (() => void) | undefined = undefined\n\n    const typeClass = computed(() => {\n      const type = props.type\n      return { [ns.bm('icon', type)]: type && TypeComponentsMap[type] }\n    })\n\n    const iconComponent = computed(() => {\n      return props.icon || TypeComponentsMap[props.type] || ''\n    })\n\n    const customStyle = computed<CSSProperties>(() => ({\n      top: `${props.offset}px`,\n      zIndex: props.zIndex,\n    }))\n\n    function startTimer() {\n      if (props.duration > 0) {\n        ;({ stop: stopTimer } = useTimeoutFn(() => {\n          if (visible.value) close()\n        }, props.duration))\n      }\n    }\n\n    function clearTimer() {\n      stopTimer?.()\n    }\n\n    function close() {\n      visible.value = false\n    }\n\n    function keydown({ code }: KeyboardEvent) {\n      if (code === EVENT_CODE.esc) {\n        // press esc to close the message\n        if (visible.value) {\n          close()\n        }\n      } else {\n        startTimer() // resume timer\n      }\n    }\n\n    onMounted(() => {\n      startTimer()\n      visible.value = true\n    })\n\n    watch(\n      () => props.repeatNum,\n      () => {\n        clearTimer()\n        startTimer()\n      }\n    )\n\n    useEventListener(document, 'keydown', keydown)\n\n    return {\n      ns,\n      typeClass,\n      iconComponent,\n      customStyle,\n      visible,\n      badgeType,\n\n      close,\n      clearTimer,\n      startTimer,\n    }\n  },\n})\n</script>\n"],"names":["_createBlock","_Transition","_withDirectives","_createElementVNode","_normalizeClass","_normalizeStyle","_createCommentVNode","_openBlock","_resolveDynamicComponent","_renderSlot","_createElementBlock","_toDisplayString","_Fragment","_withModifiers","_createVNode","_vShow"],"mappings":"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"}