import{NgModule,Component,Input,Output,EventEmitter,forwardRef,ChangeDetectorRef,ViewChild,ChangeDetectionStrategy,ViewEncapsulation}from"@angular/core";import{CommonModule}from"@angular/common";import{NG_VALUE_ACCESSOR}from"@angular/forms";export const CHECKBOX_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:forwardRef(()=>Checkbox),multi:!0};export class Checkbox{constructor(e){this.cd=e,this.checkboxIcon="pi pi-check",this.onChange=new EventEmitter,this.onModelChange=(()=>{}),this.onModelTouched=(()=>{}),this.focused=!1,this.checked=!1}onClick(e,t,o){e.preventDefault(),this.disabled||this.readonly||(this.checked=!this.checked,this.updateModel(e),o&&t.focus())}updateModel(e){this.binary?this.onModelChange(this.checked):(this.checked?this.addValue():this.removeValue(),this.onModelChange(this.model),this.formControl&&this.formControl.setValue(this.model)),this.onChange.emit({checked:this.checked,originalEvent:e})}handleChange(e){this.readonly||(this.checked=e.target.checked,this.updateModel(e))}isChecked(){return this.binary?this.model:this.model&&this.model.indexOf(this.value)>-1}removeValue(){this.model=this.model.filter(e=>e!==this.value)}addValue(){this.model?this.model=[...this.model,this.value]:this.model=[this.value]}onFocus(){this.focused=!0}onBlur(){this.focused=!1,this.onModelTouched()}focus(){this.inputViewChild.nativeElement.focus()}writeValue(e){this.model=e,this.checked=this.isChecked(),this.cd.markForCheck()}registerOnChange(e){this.onModelChange=e}registerOnTouched(e){this.onModelTouched=e}setDisabledState(e){this.disabled=e,this.cd.markForCheck()}};Checkbox.decorators=[{type:Component,args:[{selector:"p-checkbox",template:'\n