primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 1.87 kB
JavaScript
import t from"primevue/ripple";import{resolveDirective as i,withDirectives as n,openBlock as o,createElementBlock as s,normalizeClass as l,renderSlot as e,createCommentVNode as a,createElementVNode as p,toDisplayString as b}from"vue";var d={name:"Button",props:{label:{type:String},icon:{type:String},iconPos:{type:String,default:"left"},badge:{type:String},badgeClass:{type:String,default:null},loading:{type:Boolean,default:!1},loadingIcon:{type:String,default:"pi pi-spinner pi-spin"}},computed:{buttonClass(){return{"p-button p-component":!0,"p-button-icon-only":this.icon&&!this.label,"p-button-vertical":("top"===this.iconPos||"bottom"===this.iconPos)&&this.label,"p-disabled":this.$attrs.disabled||this.loading,"p-button-loading":this.loading,"p-button-loading-label-only":this.loading&&!this.icon&&this.label}},iconClass(){return[this.loading?"p-button-loading-icon "+this.loadingIcon:this.icon,"p-button-icon",{"p-button-icon-left":"left"===this.iconPos&&this.label,"p-button-icon-right":"right"===this.iconPos&&this.label,"p-button-icon-top":"top"===this.iconPos&&this.label,"p-button-icon-bottom":"bottom"===this.iconPos&&this.label}]},badgeStyleClass(){return["p-badge p-component",this.badgeClass,{"p-badge-no-gutter":this.badge&&1===String(this.badge).length}]},disabled(){return this.$attrs.disabled||this.loading}},directives:{ripple:t}};const c=["disabled"],r={class:"p-button-label"};d.render=function(t,d,u,g,h,y){const f=i("ripple");return n((o(),s("button",{class:l(y.buttonClass),type:"button",disabled:y.disabled},[e(t.$slots,"default",{},(()=>[u.loading&&!u.icon?(o(),s("span",{key:0,class:l(y.iconClass)},null,2)):a("",!0),u.icon?(o(),s("span",{key:1,class:l(y.iconClass)},null,2)):a("",!0),p("span",r,b(u.label||" "),1),u.badge?(o(),s("span",{key:2,class:l(y.badgeStyleClass)},b(u.badge),3)):a("",!0)]))],10,c)),[[f]])};export{d as default};