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