primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 1.92 kB
JavaScript
"use strict";var e=require("primevue/utils"),l=require("vue"),t={name:"Checkbox",inheritAttrs:!1,emits:["click","update:modelValue","change","input"],props:{value:null,modelValue:null,binary:Boolean,class:null,style:null,trueValue:{type:null,default:!0},falseValue:{type:null,default:!1}},data:()=>({focused:!1}),methods:{onClick(l){if(!this.$attrs.disabled){let t;t=this.binary?this.checked?this.falseValue:this.trueValue:this.checked?this.modelValue.filter((l=>!e.ObjectUtils.equals(l,this.value))):this.modelValue?[...this.modelValue,this.value]:[this.value],this.$emit("click",l),this.$emit("update:modelValue",t),this.$emit("change",l),this.$emit("input",t),this.$refs.input.focus()}},onFocus(){this.focused=!0},onBlur(){this.focused=!1}},computed:{checked(){return this.binary?this.modelValue===this.trueValue:e.ObjectUtils.contains(this.value,this.modelValue)},containerClass(){return["p-checkbox p-component",this.class,{"p-checkbox-checked":this.checked,"p-checkbox-disabled":this.$attrs.disabled,"p-checkbox-focused":this.focused}]}}};const s={class:"p-hidden-accessible"},c=["checked","value"],i=["aria-checked"];t.render=function(e,t,a,o,u,n){return l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(n.containerClass),onClick:t[2]||(t[2]=e=>n.onClick(e)),style:l.normalizeStyle(a.style)},[l.createElementVNode("div",s,[l.createElementVNode("input",l.mergeProps({ref:"input",type:"checkbox",checked:n.checked,value:a.value},e.$attrs,{onFocus:t[0]||(t[0]=(...e)=>n.onFocus&&n.onFocus(...e)),onBlur:t[1]||(t[1]=(...e)=>n.onBlur&&n.onBlur(...e))}),null,16,c)]),l.createElementVNode("div",{ref:"box",class:l.normalizeClass(["p-checkbox-box",{"p-highlight":n.checked,"p-disabled":e.$attrs.disabled,"p-focus":u.focused}]),role:"checkbox","aria-checked":n.checked},[l.createElementVNode("span",{class:l.normalizeClass(["p-checkbox-icon",{"pi pi-check":n.checked}])},null,2)],10,i)],6)},module.exports=t;