UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

2 lines (1 loc) 3.15 kB
this.primevue=this.primevue||{},this.primevue.togglebutton=function(e,t,n,l,o){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=a(e),u={name:"ToggleButton",extends:{name:"BaseToggleButton",extends:a(n).default,props:{modelValue:Boolean,onIcon:String,offIcon:String,onLabel:{type:String,default:"Yes"},offLabel:{type:String,default:"No"},iconPos:{type:String,default:"left"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},tabindex:{type:Number,default:null},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:a(l).default,provide:function(){return{$parentInstance:this}}},emits:["update:modelValue","change","focus","blur"],methods:{getPTOptions:function(e){return this.ptm(e,{context:{active:this.active,disabled:this.disabled}})},onChange:function(e){this.disabled||this.readonly||(this.$emit("update:modelValue",!this.modelValue),this.$emit("change",e))},onFocus:function(e){this.$emit("focus",e)},onBlur:function(e){this.$emit("blur",e)}},computed:{active:function(){return!0===this.modelValue},hasLabel:function(){return t.ObjectUtils.isNotEmpty(this.onLabel)&&t.ObjectUtils.isNotEmpty(this.offLabel)},hasIcon:function(){return this.$slots.icon||this.onIcon&&this.offIcon},label:function(){return this.hasLabel?this.modelValue?this.onLabel:this.offLabel:" "}},directives:{ripple:i.default}},s=["data-p-highlight","data-p-disabled"],r=["id","value","checked","tabindex","disabled","readonly","aria-labelledby","aria-label"];return u.render=function(e,t,n,l,a,i){var u=o.resolveDirective("ripple");return o.openBlock(),o.createElementBlock("div",o.mergeProps({class:e.cx("root")},i.getPTOptions("root"),{"data-pc-name":"togglebutton","data-p-highlight":i.active,"data-p-disabled":e.disabled}),[o.createElementVNode("input",o.mergeProps({id:e.inputId,type:"checkbox",role:"switch",class:[e.cx("input"),e.inputClass],style:e.inputStyle,value:e.modelValue,checked:i.active,tabindex:e.tabindex,disabled:e.disabled,readonly:e.readonly,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,onFocus:t[0]||(t[0]=function(){return i.onFocus&&i.onFocus.apply(i,arguments)}),onBlur:t[1]||(t[1]=function(){return i.onBlur&&i.onBlur.apply(i,arguments)}),onChange:t[2]||(t[2]=function(){return i.onChange&&i.onChange.apply(i,arguments)})},i.getPTOptions("input")),null,16,r),o.withDirectives((o.openBlock(),o.createElementBlock("div",o.mergeProps({class:e.cx("box")},i.getPTOptions("box")),[o.renderSlot(e.$slots,"icon",{value:e.modelValue,class:o.normalizeClass(e.cx("icon"))},(function(){return[e.onIcon||e.offIcon?(o.openBlock(),o.createElementBlock("span",o.mergeProps({key:0,class:[e.cx("icon"),e.modelValue?e.onIcon:e.offIcon]},i.getPTOptions("icon")),null,16)):o.createCommentVNode("",!0)]})),o.createElementVNode("span",o.mergeProps({class:e.cx("label")},i.getPTOptions("label")),o.toDisplayString(i.label),17)],16)),[[u]])],16,s)},u}(primevue.ripple,primevue.utils,primevue.basecomponent,primevue.togglebutton.style,Vue);