UNPKG

primevue

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/primevue.svg)](https://badge.fury.io/js/primevue) [![Discord Chat](https://img.shields.io/discord/55794023

2 lines (1 loc) 1.85 kB
import{ObjectUtils as e}from"primevue/utils";import{openBlock as l,createElementBlock as s,normalizeClass as c,normalizeStyle as t,createElementVNode as i,mergeProps as u}from"vue";var a={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 s;s=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",s),this.$emit("change",l),this.$emit("input",s),this.$refs.input.focus()}},onFocus(){this.focused=!0},onBlur(){this.focused=!1}},computed:{checked(){return this.binary?this.modelValue===this.trueValue:e.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 o={class:"p-hidden-accessible"},h=["checked","value"],d=["aria-checked"];a.render=function(e,a,n,r,p,k){return l(),s("div",{class:c(k.containerClass),onClick:a[2]||(a[2]=e=>k.onClick(e)),style:t(n.style)},[i("div",o,[i("input",u({ref:"input",type:"checkbox",checked:k.checked,value:n.value},e.$attrs,{onFocus:a[0]||(a[0]=(...e)=>k.onFocus&&k.onFocus(...e)),onBlur:a[1]||(a[1]=(...e)=>k.onBlur&&k.onBlur(...e))}),null,16,h)]),i("div",{ref:"box",class:c(["p-checkbox-box",{"p-highlight":k.checked,"p-disabled":e.$attrs.disabled,"p-focus":p.focused}]),role:"checkbox","aria-checked":k.checked},[i("span",{class:c(["p-checkbox-icon",{"pi pi-check":k.checked}])},null,2)],10,d)],6)};export{a as default};