primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.1 kB
JavaScript
"use strict";var t=require("primevue/ripple"),e=require("vue");function o(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var n={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:o(t).default}};const i=["disabled"],l={class:"p-button-label"};n.render=function(t,o,n,s,a,r){const c=e.resolveDirective("ripple");return e.withDirectives((e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(r.buttonClass),type:"button",disabled:r.disabled},[e.renderSlot(t.$slots,"default",{},(()=>[n.loading&&!n.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(r.iconClass)},null,2)):e.createCommentVNode("",!0),n.icon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(r.iconClass)},null,2)):e.createCommentVNode("",!0),e.createElementVNode("span",l,e.toDisplayString(n.label||" "),1),n.badge?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(r.badgeStyleClass)},e.toDisplayString(n.badge),3)):e.createCommentVNode("",!0)]))],10,i)),[[c]])},module.exports=n;