{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/tip/index.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport Tip from './src/tip.vue'\nimport { SFCWithInstall, withInstall, generateUUID, removeElement } from '@touchvue/utils'\nconst ToTip: SFCWithInstall<typeof Tip> = withInstall(Tip)\nexport * from './src/instance'\n\ninterface TipOptions {\n\ticon?: string\n\tcontent?: string\n\tcolor?: string\n\topDisplay?: string\n\tmode?: string\n\tposition?: string\n\tduring?: string | number\n\tclosable?: boolean\n\tdeletable?: boolean\n\tshowIcon?: boolean\n\tclassName?: string\n\t[key: string]: any\n}\n\n//创建tip实例的函数\nfunction createTipInstance(app: any, ...args: any[]): Promise<boolean> {\n\tif (args.length === 0) return Promise.reject('无效的 tip 内容')\n\n\treturn new Promise(resolve => {\n\t\tconst defaultOptions: TipOptions = {\n\t\t\ticon: 'info',\n\t\t\tcontent: '',\n\t\t\tcolor: 'default',\n\t\t\topDisplay: 'hover',\n\t\t\tmode: '',\n\t\t\tposition: 'top',\n\t\t\tduring: 3000,\n\t\t\tclosable: true,\n\t\t\tdeletable: false,\n\t\t\tclassName: '',\n\t\t\tshowIcon: true\n\t\t}\n\t\tlet options: TipOptions = { ...defaultOptions }\n\t\tif (args.length === 1) {\n\t\t\tif (typeof args[0] === 'string') {\n\t\t\t\toptions = { ...defaultOptions, content: String(args[0]) }\n\t\t\t}\n\t\t}\n\t\tif (args.length === 2) {\n\t\t\tif (typeof args[1] === 'object') {\n\t\t\t\toptions = { ...defaultOptions, ...args[1], color: args[0] }\n\t\t\t} else {\n\t\t\t\tlet icon: string = ''\n\t\t\t\tswitch (args[0]) {\n\t\t\t\t\tcase 'success': {\n\t\t\t\t\t\ticon = 'ok'\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'error': {\n\t\t\t\t\t\ticon = 'error'\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'danger': {\n\t\t\t\t\t\ticon = 'error'\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'warning': {\n\t\t\t\t\t\ticon = 'error'\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'info': {\n\t\t\t\t\t\ticon = 'info'\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'fg': {\n\t\t\t\t\t\ticon = 'error'\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\tcase 'primary': {\n\t\t\t\t\t\ticon = 'error'\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\toptions = { ...defaultOptions, color: args[0], icon, content: String(args[1]) }\n\t\t\t}\n\t\t} else if (args.length === 3) {\n\t\t\toptions = { ...options, content: String(args[0]), color: args[1], ...args[2] }\n\t\t}\n\n\t\tconst body = document.body\n\t\tconst uuid = `tip-${generateUUID()}`\n\t\tconst container = document.createElement('div')\n\t\tcontainer.setAttribute('id', uuid)\n\t\tbody.appendChild(container)\n\n\t\tconst vnode = createVNode(Tip, {\n\t\t\t...options,\n\t\t\tonClose: () => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\trender(null, container)\n\t\t\t\t\tremoveElement(container)\n\t\t\t\t\tresolve(true)\n\t\t\t\t}, 200)\n\t\t\t}\n\t\t})\n\n\t\tif (app && app._context) {\n\t\t\tvnode.appContext = app._context\n\t\t}\n\n\t\trender(vnode, container)\n\n\t\trequestAnimationFrame(() => {\n\t\t\tconst componentInstance = vnode.component\n\t\t\tif (componentInstance && componentInstance.exposed && typeof componentInstance.exposed.open === 'function') {\n\t\t\t\tcomponentInstance.exposed.open()\n\t\t\t}\n\t\t})\n\t})\n}\n\nfunction createTipFunction(app: any) {\n\tconst tipFn = function (...args: any): Promise<boolean> {\n\t\treturn createTipInstance(app, ...args)\n\t}\n\tconst tip = function (options: TipOptions | string): Promise<boolean> {\n\t\treturn tipFn(options)\n\t}\n\ttip.success = function (options: TipOptions | string): Promise<boolean> {\n\t\treturn tipFn('success', options)\n\t}\n\ttip.error = function (options: TipOptions | string): Promise<boolean> {\n\t\treturn tipFn('error', options)\n\t}\n\ttip.info = function (options: TipOptions | string): Promise<boolean> {\n\t\treturn tipFn('info', options)\n\t}\n\ttip.warning = function (options: TipOptions | string): Promise<boolean> {\n\t\treturn tipFn('warning', options)\n\t}\n\ttip.danger = function (options: TipOptions | string): Promise<boolean> {\n\t\treturn tipFn('danger', options)\n\t}\n\ttip.fg = function (options: TipOptions | string): Promise<boolean> {\n\t\treturn tipFn('fg', options)\n\t}\n\ttip.toast = function (options: TipOptions | string): Promise<boolean> {\n\t\tif (typeof options === 'object') {\n\t\t\toptions.position = options.position || 'center'\n\t\t} else {\n\t\t\treturn tipFn(options, 'fg', {\n\t\t\t\tposition: 'center'\n\t\t\t})\n\t\t}\n\t\treturn tipFn('fg', options)\n\t}\n\treturn tip\n}\n\nexport const $tip = createTipFunction(null)\nconst originInstall = ToTip.install\nToTip.install = app => {\n\toriginInstall(app)\n\tconst tip = createTipFunction(app)\n\tapp.config.globalProperties.$tip = tip\n}\nexport default $tip\nexport { ToTip }\n"],"names":[],"mappings":"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"}