primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue)
2 lines (1 loc) • 1.48 kB
JavaScript
var e=require("vue"),c={inheritAttrs:!1,emits:["click","update:modelValue","change"],props:{modelValue:null,class:null,style:null},data:()=>({focused:!1}),methods:{onClick(e){if(!this.$attrs.disabled){let c;switch(this.modelValue){case!0:c=!1;break;case!1:c=null;break;case null:c=!0}this.$emit("click",e),this.$emit("update:modelValue",c),this.$emit("change",e),this.$refs.input.focus()}},onFocus(){this.focused=!0},onBlur(){this.focused=!1}},computed:{icon(){let e;switch(this.modelValue){case!0:e="pi pi-check";break;case!1:e="pi pi-times";break;case null:e=null}return e},containerClass(){return["p-checkbox p-component",this.class,{"p-checkbox-checked":!0===this.modelValue,"p-checkbox-disabled":this.$attrs.disabled,"p-checkbox-focused":this.focused}]}}};const s={class:"p-hidden-accessible"};c.render=function(c,l,o,t,i,a){return e.openBlock(),e.createBlock("div",{class:a.containerClass,onClick:l[3]||(l[3]=e=>a.onClick(e)),style:o.style},[e.createVNode("div",s,[e.createVNode("input",e.mergeProps({ref:"input",type:"checkbox",checked:!0===o.modelValue},c.$attrs,{onFocus:l[1]||(l[1]=e=>a.onFocus()),onBlur:l[2]||(l[2]=e=>a.onBlur())}),null,16,["checked"])]),e.createVNode("div",{ref:"box",class:["p-checkbox-box",{"p-highlight":null!=o.modelValue,"p-disabled":c.$attrs.disabled,"p-focus":i.focused}],role:"checkbox","aria-checked":!0===o.modelValue},[e.createVNode("span",{class:["p-checkbox-icon",a.icon]},null,2)],10,["aria-checked"])],6)},module.exports=c;
;