{"version":3,"file":"tip.vue2.mjs","sources":["../../../../../../packages/components/tip/src/tip.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTip'\n});\n</script>\n<template>\n\t<div v-if=\"isShow || position === 'top' || position === 'center'\" :key=\"langKey\" ref=\"tipRef\" :flex=\"flex ? flex : null\" class=\"to-tip\" :class=\"setClass\" @mouseenter=\"mouseEnterHandle\" @mouseleave=\"mouseLeaveHandle\">\n\t\t<div class=\"to-tip-wrapper\">\n\t\t\t<to-icon v-if=\"icon\" class=\"to-tip-icon\" :value=\"String(icon)\"></to-icon>\n\t\t\t<div class=\"to-tip-content\">\n\t\t\t\t<slot>{{ content }}</slot>\n\t\t\t</div>\n\t\t\t<to-button v-if=\"removable\" class=\"to-tip-remove\" @click=\"remove\">{{ t('to.tip.dontShowAgain') }}</to-button>\n\t\t\t<to-icon v-if=\"closable\" value=\"close\" link class=\"to-tip-close\" @click=\"colseAction()\"></to-icon>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'\nimport { tipProps, tipEmits } from './tip'\nimport { ToIcon, ToButton } from '@touchvue/components'\nimport { t, langKey } from '@touchvue/locale'\nlet instance = getCurrentInstance()\n\nconst tipRef = ref(null)\nconst isShow = ref(true)\nconst timer = ref(null)\nconst props = defineProps(tipProps)\nconst emit = defineEmits(tipEmits)\n\nfunction openAction() {\n\tif (props.close) {\n\t\tconst fn = props.open()\n\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t.then(() => {\n\t\t\t\t\tisShow.value = true\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.log(error, 'error')\n\t\t\t\t\tisShow.value = false\n\t\t\t\t})\n\t\t} else {\n\t\t\tif (fn) {\n\t\t\t\tisShow.value = true\n\t\t\t} else {\n\t\t\t\tisShow.value = false\n\t\t\t}\n\t\t}\n\t} else {\n\t\tisShow.value = true\n\t}\n}\n\nconst setClass = computed(() => {\n\tlet arr = []\n\t// 操作按钮显示状态\n\tif (props.opDisplay === 'always' || props.position === 'top' || props.position === 'center') {\n\t\tarr.push('op-display-always')\n\t}\n\n\t// 显示位置\n\tif (props.position) {\n\t\tarr.push(`position-${props.position}`)\n\t}\n\n\t// 是否显示\n\tif (isShow.value && (props.position === 'top' || props.position === 'center')) {\n\t\tarr.push('is-show')\n\t}\n\n\t// 自定义类名\n\tif (props.className) {\n\t\tarr.push(props.className)\n\t}\n\n\t// 通用颜色参数添加\n\tif (props.color) {\n\t\tarr.push(`color-${props.color}`)\n\t}\n\n\t// 通用类型参数添加\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\n\treturn arr\n})\nif (props.position === 'top' || props.position === 'center') {\n\tisShow.value = false\n} else {\n\topenAction()\n}\nonMounted(() => {\n\tif (props.position === 'top' || props.position === 'center') {\n\t\t// 把 DOM 结构放到 body:last-child 位置，避免被 overflow\n\t\tdocument.body.appendChild(tipRef.value)\n\t}\n})\nonBeforeUnmount(() => {\n\tif (props.position === 'top' && tipRef.value) {\n\t\t// 销毁移动过的 DOM\n\t\tdocument.body.removeChild(tipRef.value)\n\t}\n})\nconst mouseEnterHandle = () => {\n\tif (props.position === 'top') {\n\t\tclearTimer()\n\t}\n}\nconst mouseLeaveHandle = () => {\n\tif (props.position === 'top') {\n\t\tstartTimer()\n\t}\n}\nconst remove = () => {\n\tisShow.value = false\n\temit('remove')\n}\nconst clearTimer = () => {\n\tclearTimeout(timer.value)\n\ttimer.value = null\n}\nconst startTimer = () => {\n\tif (Number(props.during) > 0) {\n\t\ttimer.value = setTimeout(() => {\n\t\t\t// close()\n\t\t\tcolseAction()\n\t\t\tclearTimer()\n\t\t}, Number(props.during))\n\t}\n}\nconst close = () => {\n\tisShow.value = false\n\temit('close')\n}\n\nfunction colseAction() {\n\tif (props.close) {\n\t\tconst fn = props.close()\n\t\tif (fn && typeof (fn as any).then === 'function') {\n\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t.then(() => {\n\t\t\t\t\tclose()\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.log(error)\n\t\t\t\t})\n\t\t} else {\n\t\t\tif (fn) {\n\t\t\t\tclose()\n\t\t\t}\n\t\t}\n\t} else {\n\t\tclose()\n\t}\n}\n\nconst open = () => {\n\tif (props.position === 'top' || props.position === 'center') {\n\t\t;(instance?.proxy?.$el as HTMLElement).style.zIndex = (window as any).$TouchUI?.zIndex.toString()\n\t\t;(window as any).$TouchUI.zIndex++\n\t}\n\t// isShow.value = true\n\topenAction()\n\tclearTimer()\n\tstartTimer()\n}\n\n// 暴露方法\ndefineExpose({ open, close })\n</script>\n"],"names":["DO_defineComponent","position","_createElementBlock","_unref","flex","_normalizeClass","_createElementVNode","icon","_createBlock","_renderSlot","content","removable","closable"],"mappings":"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"}