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