UNPKG

@aplus-frontend/ui

Version:

2 lines (1 loc) 2 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../../config-provider/index.js");const f=require("@aplus-frontend/antdv/es/button/LoadingIcon"),k=require("../../config-provider/hooks/use-namespace.js"),p={key:1},y=e.defineComponent({name:"ApActionItem",__name:"index",props:{text:{},color:{default:"primary"},disabled:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},onAction:{type:Function},onClick:{type:Function},loading:{type:Boolean,default:!1},icon:{},iconFirst:{type:Boolean,default:!1}},setup(n){const a=e.useSlots(),i=e.createPropsRestProxy(n,["color","disabled","visible","loading","iconFirst","icon"]),{b:u,m:t,e:d}=k.useNamespace("action-item"),c=e.ref(!1),r=e.computed(()=>n.iconFirst&&(n.icon||a.icon));function s(o){e.unref(l)||n.disabled||(i.onClick?.(o),i.onAction&&(c.value=!0,i.onAction(o).finally(()=>c.value=!1)))}const l=e.computed(()=>n.loading||e.unref(c)),m=e.computed(()=>[u(),t(n.color),r.value?t("icon-first"):null,n.disabled?t("disabled"):null,l.value?t("loading"):null].filter(Boolean));return(o,g)=>e.renderSlot(o.$slots,"trigger",{loading:l.value,disabled:o.disabled,onClick:s},()=>[o.visible?(e.openBlock(),e.createElementBlock("span",e.mergeProps({key:0},o.$attrs,{class:m.value,onClick:s}),[l.value?(e.openBlock(),e.createBlock(e.unref(f),{key:0,"prefix-cls":"btn","exist-icon":!1,loading:""})):e.createCommentVNode("",!0),o.icon||a.icon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(d)("icon-wrapper"))},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.icon||a.icon)))],2)):e.createCommentVNode("",!0),r.value?e.createCommentVNode("",!0):e.renderSlot(o.$slots,"default",{key:2},()=>[e.isVNode(o.text)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.text),{key:0})):(e.openBlock(),e.createElementBlock("span",p,e.toDisplayString(o.text||""),1))])],16)):e.createCommentVNode("",!0)])}});exports.default=y;