{"version":3,"file":"tip.mjs","sources":["../../../../../../packages/directives/tip/src/tip.ts"],"sourcesContent":["import { createVNode, render, nextTick } from 'vue'\nimport { ToTooltip } from '@touchvue/components'\nfunction setTip(el, binding) {\n\tlet color = Object.keys(binding.modifiers)[0]\n\tlet position = Object.keys(binding.modifiers)[1]\n\tlet align = Object.keys(binding.modifiers)[2]\n\tlet delay = null\n\t//插槽文本内容\n\tlet value = binding.value\n\tif (!value) {\n\t\treturn\n\t}\n\tif (Object.prototype.toString.call(value) === '[object Object]') {\n\t\tif (!color) {\n\t\t\tcolor = binding.value.color\n\t\t}\n\t\tif (!position) {\n\t\t\tposition = binding.value.position\n\t\t}\n\t\tif (!align) {\n\t\t\talign = binding.value.align\n\t\t}\n\t\tdelay = binding.value.delay\n\t\tvalue = binding.value.value\n\t}\n\tfunction isStandardColor() {\n\t\treturn ['primary', 'success', 'danger', 'warning', 'info', 'bg'].includes(color)\n\t}\n\tconst tooltip = createVNode(\n\t\tToTooltip,\n\t\t{\n\t\t\tevent: '',\n\t\t\tshadow: false,\n\t\t\tposition: position || 'auto',\n\t\t\talign: align || 'auto',\n\t\t\tcolor: color && isStandardColor() ? color : '',\n\t\t\twidth: '',\n\t\t\tlazy: true,\n\t\t\tcloseOnBlur: true,\n\t\t\tisScrollClose: true,\n\t\t\tdelay: delay || 0,\n\t\t\tmode: !isStandardColor() && color ? color : ''\n\t\t},\n\t\t{\n\t\t\tdefault: () => value\n\t\t}\n\t)\n\tconst container = document.createElement('div')\n\trender(tooltip, container)\n\tdocument.body.appendChild(container)\n\tnextTick(() => {\n\t\tel._tip = {\n\t\t\tvnode: tooltip,\n\t\t\tcontainer\n\t\t}\n\t\tconst open = () => {\n\t\t\ttooltip.component.exposed.open(el)\n\t\t}\n\t\tconst close = () => {\n\t\t\ttooltip.component.exposed.close(el)\n\t\t}\n\t\t// 参数 click,弹出方式\n\t\tif (binding.arg) {\n\t\t\tel.addEventListener('click', open)\n\t\t} else {\n\t\t\tel.addEventListener('mouseenter', open)\n\t\t\tel.addEventListener('mouseleave', close)\n\t\t}\n\t})\n}\nconst tipDirective = {\n\tmounted(el, binding) {\n\t\tsetTip(el, binding)\n\t},\n\tupdated(el, binding) {\n\t\tsetTip(el, binding)\n\t},\n\tunmounted(el) {\n\t\tif (el._tip) {\n\t\t\tel.removeEventListener('click', open)\n\t\t\tel.removeEventListener('mouseenter', open)\n\t\t\tel.removeEventListener('mouseleave', close)\n\t\t\trender(null, el._tip.container)\n\t\t\tdocument.body.removeChild(el._tip.container)\n\t\t\tdelete el._tip\n\t\t}\n\t}\n}\n\nexport default tipDirective\n"],"names":["open","close"],"mappings":"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"}