ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
2 lines (1 loc) • 2.34 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),d=require("../chunks/helper-chunk.js"),s=require("../chunks/module-chunk.js"),P=require("../_util/pick-attrs.js"),a=require("ant-design-vue"),c=require("../_util/hooks/use-state.js"),N=t.defineComponent({name:"AXConversationsItem",__name:"ConversationsItem",props:{info:{type:Object,required:!0},prefixCls:{type:String,required:!1},direction:{required:!1},menu:{type:Object,required:!1},active:{type:Boolean,required:!1},onClick:{type:Function,required:!1}},setup(e,{expose:f}){f();const g=d.createPropsRestProxy(e,["prefixCls","info","class","direction","onClick","active","menu"]);t.toRef(e,"class");const m=t.computed(()=>P.default(g,{aria:!0,data:!0,attr:!0})),v=n=>{n.stopPropagation()},i=t.computed(()=>e.info.disabled),[C,p]=c.default(!1),[b,r]=c.default(!1),x=t.computed(()=>s.classnames(e.class,`${e.prefixCls}-item`,{[`${e.prefixCls}-item-active`]:e.active&&!i.value},{[`${e.prefixCls}-item-disabled`]:i.value})),h=()=>{!i.value&&e.onClick&&e.onClick(e.info)},k=n=>{n&&r(!n)},o=t.computed(()=>{var n;return(n=e.menu)==null?void 0:n.trigger}),u=t.computed(()=>{const{trigger:n,...l}=e.menu||{};return l}),q=t.computed(()=>{var n;return(n=u.value)==null?void 0:n.getPopupContainer}),y=n=>{const l=t.createVNode(s.EllipsisOutlined,{onClick:v,class:`${e.prefixCls}-menu-icon`},null);return o.value?typeof o.value=="function"?o.value(n,{originNode:l}):o.value:l};return()=>t.createVNode(a.Tooltip,{title:e.info.label,open:C.value&&b.value,onOpenChange:r,placement:e.direction==="rtl"?"left":"right"},{default:()=>[t.createVNode("li",t.mergeProps(m.value,{class:x.value,onClick:h}),[e.info.icon&&t.createVNode("div",{class:`${e.prefixCls}-icon`},[e.info.icon]),t.createVNode(a.Typography.Text,{class:`${e.prefixCls}-label`,ellipsis:{onEllipsis:p}},{default:()=>[e.info.label]}),!i.value&&e.menu&&t.createVNode(a.Dropdown,{placement:e.direction==="rtl"?"bottomLeft":"bottomRight",trigger:["click"],disabled:i.value,onOpenChange:k,getPopupContainer:q.value},{default:()=>y(e.info),overlay:()=>t.createVNode(a.Menu,u.value,null)})])]})}}),O=d._export_sfc(N,[["__file","/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/conversations/ConversationsItem.vue"]]);exports.default=O;