{"version":3,"file":"primeng-checkbox.mjs","sources":["../../src/app/components/checkbox/checkbox.ts","../../src/app/components/checkbox/primeng-checkbox.ts"],"sourcesContent":["import {NgModule,Component,Input,Output,EventEmitter,forwardRef,ChangeDetectorRef,ViewChild,ElementRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor, FormControl} from '@angular/forms';\nimport { ObjectUtils } from 'primeng/utils';\n\nexport const CHECKBOX_VALUE_ACCESSOR: any = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => Checkbox),\n  multi: true\n};\n\n@Component({\n    selector: 'p-checkbox',\n    template: `\n        <div [ngStyle]=\"style\" [ngClass]=\"{'p-checkbox p-component': true, 'p-checkbox-checked': checked(), 'p-checkbox-disabled': disabled, 'p-checkbox-focused': focused}\" [class]=\"styleClass\">\n            <div class=\"p-hidden-accessible\">\n                <input #cb type=\"checkbox\" [attr.id]=\"inputId\" [attr.name]=\"name\" [readonly]=\"readonly\" [value]=\"value\" [checked]=\"checked()\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\n                (change)=\"handleChange($event)\" [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.aria-label]=\"ariaLabel\" [attr.aria-checked]=\"checked()\" [attr.required]=\"required\">\n            </div>\n            <div class=\"p-checkbox-box\" (click)=\"onClick($event,cb,true)\"\n                        [ngClass]=\"{'p-highlight': checked(), 'p-disabled': disabled, 'p-focus': focused}\">\n                <span class=\"p-checkbox-icon\" [ngClass]=\"checked() ? checkboxIcon : null\"></span>\n            </div>\n        </div>\n        <label (click)=\"onClick($event,cb,true)\" [class]=\"labelStyleClass\"\n                [ngClass]=\"{'p-checkbox-label': true, 'p-checkbox-label-active':checked(), 'p-disabled':disabled, 'p-checkbox-label-focus':focused}\"\n                *ngIf=\"label\" [attr.for]=\"inputId\">{{label}}</label>\n    `,\n    providers: [CHECKBOX_VALUE_ACCESSOR],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    styleUrls: ['./checkbox.css'],\n    host: {\n        'class': 'p-element'\n    }\n})\nexport class Checkbox implements ControlValueAccessor {\n\n    @Input() value: any;\n\n    @Input() name: string;\n\n    @Input() disabled: boolean;\n\n    @Input() binary: boolean;\n\n    @Input() label: string;\n\n    @Input() ariaLabelledBy: string;\n\n    @Input() ariaLabel: string;\n\n    @Input() tabindex: number;\n\n    @Input() inputId: string;\n\n    @Input() style: any;\n\n    @Input() styleClass: string;\n\n    @Input() labelStyleClass: string;\n\n    @Input() formControl: FormControl;\n\n    @Input() checkboxIcon: string = 'pi pi-check';\n\n    @Input() readonly: boolean;\n\n    @Input() required: boolean;\n\n    @Input() trueValue: any = true;\n\n    @Input() falseValue: any = false;\n\n    @ViewChild('cb') inputViewChild: ElementRef;\n\n    @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n    model: any;\n\n    onModelChange: Function = () => {};\n\n    onModelTouched: Function = () => {};\n\n    focused: boolean = false;\n\n    constructor(private cd: ChangeDetectorRef) {}\n\n    onClick(event,checkbox,focus:boolean) {\n        event.preventDefault();\n\n        if (this.disabled || this.readonly) {\n            return;\n        }\n\n        this.updateModel(event);\n\n        if (focus) {\n            checkbox.focus();\n        }\n    }\n\n    updateModel(event) {\n        let newModelValue;\n\n        if (!this.binary) {\n            if (this.checked())\n                newModelValue = this.model.filter(val => !ObjectUtils.equals(val, this.value));\n            else\n                newModelValue = this.model ? [...this.model, this.value] : [this.value];\n\n            this.onModelChange(newModelValue);\n            this.model = newModelValue;\n\n            if (this.formControl) {\n                this.formControl.setValue(newModelValue);\n            }\n        }\n        else {\n            newModelValue = this.checked() ? this.falseValue : this.trueValue;\n            this.model = newModelValue;\n            this.onModelChange(newModelValue);\n        }\n\n        this.onChange.emit({checked:newModelValue, originalEvent: event});\n    }\n\n    handleChange(event) {\n        if (!this.readonly) {\n            this.updateModel(event);\n        }\n    }\n\n    onFocus() {\n        this.focused = true;\n    }\n\n    onBlur() {\n        this.focused = false;\n        this.onModelTouched();\n    }\n\n    focus() {\n        this.inputViewChild.nativeElement.focus();\n    }\n\n    writeValue(model: any) : void {\n        this.model = model;\n        this.cd.markForCheck();\n    }\n\n    registerOnChange(fn: Function): void {\n        this.onModelChange = fn;\n    }\n\n    registerOnTouched(fn: Function): void {\n        this.onModelTouched = fn;\n    }\n\n    setDisabledState(val: boolean): void {\n        this.disabled = val;\n        this.cd.markForCheck();\n    }\n\n    checked() {\n        return this.binary ? this.model === this.trueValue : ObjectUtils.contains(this.value, this.model);\n    }\n}\n\n@NgModule({\n    imports: [CommonModule],\n    exports: [Checkbox],\n    declarations: [Checkbox]\n})\nexport class CheckboxModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}