ant-design-x-vue-next
Version:
Ant Design X for Vue — community continuation aligned with @ant-design/x
2 lines (1 loc) • 2.03 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),s=require("ant-design-vue"),u=require("../chunks/module-chunk.js"),N=require("../_util/pick-attrs.js"),c=require("../_util/hooks/use-state.js"),y=require("../_util/hooks/use-mobile.js"),M=t.defineComponent({name:"AXConversationsItem",__name:"ConversationsItem",props:{info:{},prefixCls:{},direction:{},menu:{},active:{type:Boolean},onClick:{type:Function}},setup(p){const e=p,d=y.useMobile(),f=t.computed(()=>N.default(e,{aria:!0,data:!0,attr:!0})),m=o=>{o.stopPropagation()},n=t.computed(()=>e.info.disabled),[g,v]=c.default(!1),[C,r]=c.default(!1),_=t.computed(()=>u.classnames(e.class,`${e.prefixCls}-item`,{[`${e.prefixCls}-item-active`]:e.active&&!n.value,[`${e.prefixCls}-item-disabled`]:n.value,[`${e.prefixCls}-item-menu-always`]:d.value&&!!e.menu})),b=()=>{!n.value&&e.onClick&&e.onClick(e.info)},k=o=>{o&&r(!o)},i=t.computed(()=>{var o;return(o=e.menu)==null?void 0:o.trigger}),a=t.computed(()=>{const{trigger:o,...l}=e.menu||{};return l}),h=t.computed(()=>{var o;return(o=a.value)==null?void 0:o.getPopupContainer}),x=o=>{const l=t.createVNode(u.EllipsisOutlined,{onClick:m,class:`${e.prefixCls}-menu-icon`},null);return i.value?typeof i.value=="function"?i.value(o,{originNode:l}):i.value:l};return()=>t.createVNode(s.Tooltip,{title:e.info.label,open:g.value&&C.value,onOpenChange:r,placement:e.direction==="rtl"?"left":"right"},{default:()=>[t.createVNode("li",t.mergeProps(f.value,{class:_.value,onClick:b}),[e.info.icon&&t.createVNode("div",{class:`${e.prefixCls}-icon`},[e.info.icon]),t.createVNode(s.Typography.Text,{class:`${e.prefixCls}-label`,ellipsis:{onEllipsis:v}},{default:()=>[e.info.label]}),!n.value&&e.menu&&t.createVNode(s.Dropdown,{placement:e.direction==="rtl"?"bottomLeft":"bottomRight",trigger:["click"],disabled:n.value,onOpenChange:k,getPopupContainer:h.value},{default:()=>x(e.info),overlay:()=>t.createVNode(s.Menu,a.value,null)})])]})}});exports.default=M;