{"version":3,"file":"primeng-tristatecheckbox.mjs","sources":["../../src/app/components/tristatecheckbox/tristatecheckbox.ts","../../src/app/components/tristatecheckbox/primeng-tristatecheckbox.ts"],"sourcesContent":["import {NgModule,Component,Input,Output,EventEmitter,forwardRef,ChangeDetectorRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const TRISTATECHECKBOX_VALUE_ACCESSOR: any = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => TriStateCheckbox),\n  multi: true\n};\n\n@Component({\n    selector: 'p-triStateCheckbox',\n    template: `\n        <div [ngStyle]=\"style\" [ngClass]=\"{'p-checkbox p-component': true,'p-checkbox-disabled': disabled, 'p-checkbox-focused': focused}\" [class]=\"styleClass\">\n            <div class=\"p-hidden-accessible\">\n                <input #input type=\"text\" [attr.id]=\"inputId\" [name]=\"name\" [attr.tabindex]=\"tabindex\" [readonly]=\"readonly\" [disabled]=\"disabled\" (keyup)=\"onKeyup($event)\" (keydown)=\"onKeydown($event)\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [attr.aria-labelledby]=\"ariaLabelledBy\" inputmode=\"none\">\n            </div>\n            <div class=\"p-checkbox-box\" (click)=\"onClick($event,input)\"  role=\"checkbox\" [attr.aria-checked]=\"value === true\"\n                [ngClass]=\"{'p-highlight':value!=null,'p-disabled':disabled,'p-focus':focused}\">\n                <span class=\"p-checkbox-icon\" [ngClass]=\"value === true ? checkboxTrueIcon : value === false ? checkboxFalseIcon : ''\"></span>\n            </div>\n        </div>\n        <label class=\"p-checkbox-label\" (click)=\"onClick($event,input)\"\n               [ngClass]=\"{'p-checkbox-label-active':value!=null, 'p-disabled':disabled, 'p-checkbox-label-focus':focused}\"\n               *ngIf=\"label\" [attr.for]=\"inputId\">{{label}}</label>\n    `,\n    providers: [TRISTATECHECKBOX_VALUE_ACCESSOR],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        'class': 'p-element'\n    }\n})\nexport class TriStateCheckbox implements ControlValueAccessor  {\n\n    constructor(private cd: ChangeDetectorRef) {}\n\n    @Input() disabled: boolean;\n\n    @Input() name: string;\n\n    @Input() ariaLabelledBy: string;\n\n    @Input() tabindex: number;\n\n    @Input() inputId: string;\n\n    @Input() style: any;\n\n    @Input() styleClass: string;\n\n    @Input() label: string;\n\n    @Input() readonly: boolean;\n\n    @Input() checkboxTrueIcon: string = 'pi pi-check';\n\n    @Input() checkboxFalseIcon: string = 'pi pi-times';\n\n    @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n    focused: boolean;\n\n    value: any;\n\n    onModelChange: Function = () => {};\n\n    onModelTouched: Function = () => {};\n\n    onClick(event: Event, input: HTMLInputElement) {\n        if (!this.disabled && !this.readonly) {\n            this.toggle(event);\n            this.focused = true;\n            input.focus();\n        }\n    }\n\n    onKeydown(event: KeyboardEvent) {\n        if (event.keyCode == 32) {\n            event.preventDefault();\n        }\n    }\n\n    onKeyup(event: KeyboardEvent) {\n        if (event.keyCode == 32 && !this.readonly) {\n            this.toggle(event);\n            event.preventDefault();\n        }\n    }\n\n    toggle(event: Event) {\n        if (this.value == null || this.value == undefined)\n            this.value = true;\n        else if (this.value == true)\n            this.value = false;\n        else if (this.value == false)\n            this.value = null;\n\n        this.onModelChange(this.value);\n        this.onChange.emit({\n            originalEvent: event,\n            value: this.value\n        })\n    }\n\n    onFocus() {\n        this.focused = true;\n    }\n\n    onBlur() {\n        this.focused = false;\n        this.onModelTouched();\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    writeValue(value: any) : void {\n        this.value = value;\n        this.cd.markForCheck();\n    }\n\n    setDisabledState(disabled: boolean): void {\n        this.disabled = disabled;\n        this.cd.markForCheck();\n    }\n}\n\n@NgModule({\n    imports: [CommonModule],\n    exports: [TriStateCheckbox],\n    declarations: [TriStateCheckbox]\n})\nexport class TriStateCheckboxModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAIa,+BAA+B,GAAQ;IAClD,OAAO,EAAE,iBAAiB;IAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,gBAAgB,CAAC;IAC/C,KAAK,EAAE,IAAI;EACX;MAyBW,gBAAgB;IAEzB,YAAoB,EAAqB;QAArB,OAAE,GAAF,EAAE,CAAmB;QAoBhC,qBAAgB,GAAW,aAAa,CAAC;QAEzC,sBAAiB,GAAW,aAAa,CAAC;QAEzC,aAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;QAM3D,kBAAa,GAAa,SAAQ,CAAC;QAEnC,mBAAc,GAAa,SAAQ,CAAC;KAhCS;IAkC7C,OAAO,CAAC,KAAY,EAAE,KAAuB;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,KAAK,EAAE,CAAC;SACjB;KACJ;IAED,SAAS,CAAC,KAAoB;QAC1B,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;KACJ;IAED,OAAO,CAAC,KAAoB;QACxB,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;KACJ;IAED,MAAM,CAAC,KAAY;QACf,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS;YAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACjB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aAClB,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK;YACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAA;KACL;IAED,OAAO;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACvB;IAED,MAAM;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;IAED,gBAAgB,CAAC,EAAY;QACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC3B;IAED,iBAAiB,CAAC,EAAY;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KAC5B;IAED,UAAU,CAAC,KAAU;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;IAED,gBAAgB,CAAC,QAAiB;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;;6GAjGQ,gBAAgB;iGAAhB,gBAAgB,iZAPd,CAAC,+BAA+B,CAAC,0BAdlC;;;;;;;;;;;;;KAaT;2FAQQ,gBAAgB;kBAvB5B,SAAS;mBAAC;oBACP,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE;;;;;;;;;;;;;KAaT;oBACD,SAAS,EAAE,CAAC,+BAA+B,CAAC;oBAC5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,IAAI,EAAE;wBACF,OAAO,EAAE,WAAW;qBACvB;iBACJ;wGAKY,QAAQ;sBAAhB,KAAK;gBAEG,IAAI;sBAAZ,KAAK;gBAEG,cAAc;sBAAtB,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,OAAO;sBAAf,KAAK;gBAEG,KAAK;sBAAb,KAAK;gBAEG,UAAU;sBAAlB,KAAK;gBAEG,KAAK;sBAAb,KAAK;gBAEG,QAAQ;sBAAhB,KAAK;gBAEG,gBAAgB;sBAAxB,KAAK;gBAEG,iBAAiB;sBAAzB,KAAK;gBAEI,QAAQ;sBAAjB,MAAM;;MA+EE,sBAAsB;;mHAAtB,sBAAsB;oHAAtB,sBAAsB,iBAzGtB,gBAAgB,aAqGf,YAAY,aArGb,gBAAgB;oHAyGhB,sBAAsB,YAJtB,CAAC,YAAY,CAAC;2FAId,sBAAsB;kBALlC,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,YAAY,EAAE,CAAC,gBAAgB,CAAC;iBACnC;;;ACzID;;;;;;"}