ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
2 lines (1 loc) • 1.32 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),g=require("ant-design-vue");require("../x-provider/index.js");const C=require("../x-provider/hooks/use-x-provider-context.js"),_=require("../chunks/module-chunk.js"),k=t.defineComponent({name:"AXActionMenu",__name:"ActionMenu",props:{item:null,prefixCls:null},emits:["click"],setup(l,{emit:m}){const n=l,d=m,s=(i,o)=>{const c=i[0];for(const e of o)if(e.key===c){if(i.length===1)return e;if("children"in e&&e.children)return s(i.slice(1),e.children)}return null},{getPrefixCls:a}=C.default(),r=a("actions",n.prefixCls),p=t.computed(()=>{var i;return((i=n.item)==null?void 0:i.icon)??t.createVNode(_.EllipsisOutlined,null,null)}),u=t.computed(()=>n.item.children||[]),f=t.computed(()=>n.item.triggerSubMenuAction||"hover"),v=t.computed(()=>({items:u.value,onClick:({key:i,keyPath:o,domEvent:c})=>{const e=s(o,u.value);if(e!=null&&e.onItemClick){e.onItemClick(e);return}d("click",{key:i,keyPath:[...o,n.item.key],domEvent:c,item:e})}}));return()=>t.createVNode(g.Dropdown,{menu:v.value,overlayClassName:`${r}-sub-item`,arrow:!0,trigger:[f.value]},{default:()=>[t.createVNode("div",{class:`${r}-list-item`},[t.createVNode("div",{class:`${r}-list-item-icon`},[p.value])])]})}});exports.default=k;