UNPKG

@artmate/chat

Version:

**开箱即用的AI组件库(基于 Vue3 + ElementPlus)**

2 lines (1 loc) 3.26 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("@element-plus/icons-vue"),d=require("element-plus"),N=require("../dropdown/index.vue.js"),h=require("../hooks/useNamespace.js"),E=e.defineComponent({__name:"item",props:{direction:{},className:{},active:{type:Boolean},info:{},menu:{},inEllipsis:{type:Boolean,default:!0},line:{default:1}},emits:["click"],setup(m,{emit:p}){const l=m,b=p,s=e.ref(!1),a=h.useNamespace("conversations"),v=e.computed(()=>{var n,o;return[l.className,a.b("item"),{[a.b("item-active")]:l.active&&!((n=l.info)!=null&&n.disabled)},{[a.b("item-disabled")]:(o=l.info)==null?void 0:o.disabled}]});function k(n){n.stopPropagation()}const r=e.ref();function y(){var n,o,i,t,u;if((n=l.info)!=null&&n.disabled){s.value=!1;return}r.value&&(s.value=((o=r.value)==null?void 0:o.scrollWidth)>((i=r.value)==null?void 0:i.offsetWidth)||((t=r.value)==null?void 0:t.scrollHeight)>((u=r.value)==null?void 0:u.offsetHeight))}function C(){var n;(n=l.info)!=null&&n.disabled||b("click",l.info)}function B(n){var o,i;Array.isArray(l.menu)||l.info&&((i=(o=l.menu)==null?void 0:o.onClick)==null||i.call(o,{...l.info,key:n}))}return(n,o)=>{var i;return e.openBlock(),e.createBlock(e.unref(d.ElTooltip),{visible:s.value,"onUpdate:visible":o[0]||(o[0]=t=>s.value=t),content:(i=n.info)==null?void 0:i.label,disabled:n.inEllipsis&&!s.value,placement:n.direction==="rtl"?"left":"right"},{default:e.withCtx(()=>{var t,u,c;return[e.createElementVNode("li",{class:e.normalizeClass(v.value),onClick:C},[e.renderSlot(n.$slots,"default",{class:"icon"},()=>[n.info.icon?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a).b("icon"))},[typeof n.info.icon=="string"?(e.openBlock(),e.createBlock(e.unref(d.ElIcon),{key:0},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.info.icon)))]),_:1})):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.info.icon),{key:1}))],2)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{ref_key:"textRef",ref:r,class:e.normalizeClass(e.unref(a).b("label")),style:e.normalizeStyle({textOverflow:"ellipsis","-webkit-line-clamp":n.line}),onMouseenter:y},[e.renderSlot(n.$slots,"label",{item:n.info},()=>[e.createTextVNode(e.toDisplayString(n.info.label),1)])],38),n.menu&&!((t=n.info)!=null&&t.disabled)?(e.openBlock(),e.createBlock(N.default,{key:0,disabled:(u=n.info)==null?void 0:u.disabled,menu:Array.isArray(n.menu)?n.menu:n.menu.items,placement:n.direction==="rtl"?"bottom-start":"bottom-end",trigger:"click",teleported:Array.isArray(n.menu)?!0:(c=n.menu)==null?void 0:c.teleported,onCommand:B},{default:e.withCtx(()=>{var f;return[e.createVNode(e.unref(d.ElButton),{disabled:(f=n.info)==null?void 0:f.disabled,link:"",onClick:k},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"menu-icon",{info:n.info},()=>[e.createVNode(e.unref(d.ElIcon),{class:e.normalizeClass(e.unref(a).b("menu-icon"))},{default:e.withCtx(()=>[e.createVNode(e.unref(g.MoreFilled))]),_:1},8,["class"])])]),_:3},8,["disabled"])]}),_:3},8,["disabled","menu","placement","teleported"])):e.createCommentVNode("",!0)],2)]}),_:3},8,["visible","content","disabled","placement"])}}});exports.default=E;