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) • 2.27 kB
JavaScript
import e from"primevue/basecomponent";import t from"primevue/inputswitch/style";import{openBlock as a,createElementBlock as l,mergeProps as i,createElementVNode as n}from"vue";var d={name:"InputSwitch",extends:{name:"BaseInputSwitch",extends:e,props:{modelValue:{type:null,default:!1},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},invalid:{type:Boolean,default:!1},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:t,provide:function(){return{$parentInstance:this}}},inheritAttrs:!1,emits:["update:modelValue","change","focus","blur"],methods:{getPTOptions:function(e){return("root"===e?this.ptmi:this.ptm)(e,{context:{checked:this.checked,disabled:this.disabled}})},onChange:function(e){this.disabled||this.readonly||(this.$emit("update:modelValue",this.checked?this.falseValue:this.trueValue),this.$emit("change",e))},onFocus:function(e){this.$emit("focus",e)},onBlur:function(e){this.$emit("blur",e)}},computed:{checked:function(){return this.modelValue===this.trueValue}}},u=["data-p-highlight","data-p-disabled"],o=["id","checked","tabindex","disabled","readonly","aria-checked","aria-labelledby","aria-label","aria-invalid"];d.render=function(e,t,d,r,s,c){return a(),l("div",i({class:e.cx("root"),style:e.sx("root")},c.getPTOptions("root"),{"data-p-highlight":c.checked,"data-p-disabled":e.disabled}),[n("input",i({id:e.inputId,type:"checkbox",role:"switch",class:[e.cx("input"),e.inputClass],style:e.inputStyle,checked:c.checked,tabindex:e.tabindex,disabled:e.disabled,readonly:e.readonly,"aria-checked":c.checked,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-invalid":e.invalid||void 0,onFocus:t[0]||(t[0]=function(){return c.onFocus&&c.onFocus.apply(c,arguments)}),onBlur:t[1]||(t[1]=function(){return c.onBlur&&c.onBlur.apply(c,arguments)}),onChange:t[2]||(t[2]=function(){return c.onChange&&c.onChange.apply(c,arguments)})},c.getPTOptions("input")),null,16,o),n("span",i({class:e.cx("slider")},c.getPTOptions("slider")),null,16)],16,u)};export{d as default};