primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.4 kB
JavaScript
import{ObjectUtils as e}from"primevue/utils";import{openBlock as l,createElementBlock as a,normalizeClass as t,createElementVNode as i,mergeProps as u}from"vue";var d={name:"Checkbox",emits:["click","update:modelValue","change","input","focus","blur"],props:{value:null,modelValue:null,binary:Boolean,name:{type:String,default:null},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},tabindex:{type:Number,default:null},inputId:{type:String,default:null},inputClass:{type:String,default:null},inputStyle:{type:null,default:null},inputProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data:()=>({focused:!1}),methods:{onClick(l){if(!this.disabled){let a;a=this.binary?this.checked?this.falseValue:this.trueValue:this.checked?this.modelValue.filter((l=>!e.equals(l,this.value))):this.modelValue?[...this.modelValue,this.value]:[this.value],this.$emit("click",l),this.$emit("update:modelValue",a),this.$emit("change",l),this.$emit("input",a),this.$refs.input.focus()}},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)}},computed:{checked(){return this.binary?this.modelValue===this.trueValue:e.contains(this.value,this.modelValue)},containerClass(){return["p-checkbox p-component",{"p-checkbox-checked":this.checked,"p-checkbox-disabled":this.disabled,"p-checkbox-focused":this.focused}]}}};const s={class:"p-hidden-accessible"},n=["id","value","name","checked","tabindex","disabled","readonly","required","aria-labelledby","aria-label"];d.render=function(e,d,c,o,r,h){return l(),a("div",{class:t(h.containerClass),onClick:d[2]||(d[2]=e=>h.onClick(e))},[i("div",s,[i("input",u({ref:"input",id:c.inputId,type:"checkbox",value:c.value,class:c.inputClass,style:c.inputStyle,name:c.name,checked:h.checked,tabindex:c.tabindex,disabled:c.disabled,readonly:c.readonly,required:c.required,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,onFocus:d[0]||(d[0]=e=>h.onFocus(e)),onBlur:d[1]||(d[1]=e=>h.onBlur(e))},c.inputProps),null,16,n)]),i("div",{ref:"box",class:t(["p-checkbox-box",{"p-highlight":h.checked,"p-disabled":c.disabled,"p-focus":r.focused}])},[i("span",{class:t(["p-checkbox-icon",{"pi pi-check":h.checked}])},null,2)],2)],2)};export{d as default};