{"version":3,"file":"primeng-tristatecheckbox.mjs","sources":["../../src/app/components/tristatecheckbox/tristatecheckbox.ts","../../src/app/components/tristatecheckbox/primeng-tristatecheckbox.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { CheckIcon } from 'primeng/icons/check';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { TriStateCheckboxChangeEvent } from './tristatecheckbox.interface';\n\nexport const TRISTATECHECKBOX_VALUE_ACCESSOR: any = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => TriStateCheckbox),\n    multi: true\n};\n/**\n * TriStateCheckbox is used to select either 'true', 'false' or 'null' as the value.\n * @group Components\n */\n@Component({\n    selector: 'p-triStateCheckbox',\n    template: `\n        <div\n            [ngStyle]=\"style\"\n            [ngClass]=\"{ 'p-checkbox p-component': true, 'p-checkbox-disabled': disabled, 'p-checkbox-focused': focused }\"\n            [class]=\"styleClass\"\n            (click)=\"onClick($event, input)\"\n            [attr.data-pc-name]=\"'tristatecheckbox'\"\n            [attr.data-pc-section]=\"'root'\"\n        >\n            <div class=\"p-hidden-accessible\">\n                <input\n                    #input\n                    [attr.id]=\"inputId\"\n                    type=\"checkbox\"\n                    [name]=\"name\"\n                    [attr.tabindex]=\"tabindex\"\n                    [readonly]=\"readonly\"\n                    [disabled]=\"disabled\"\n                    (keydown)=\"onKeyDown($event)\"\n                    (focus)=\"onFocus()\"\n                    (blur)=\"onBlur()\"\n                    [attr.aria-labelledby]=\"ariaLabelledBy\"\n                    [attr.aria-label]=\"ariaLabel\"\n                    inputmode=\"none\"\n                    [attr.data-pc-section]=\"'hiddenInput'\"\n                    pAutoFocus\n                    [autofocus]=\"autofocus\"\n                />\n            </div>\n            <div class=\"p-checkbox-box\" role=\"checkbox\" [attr.aria-checked]=\"value === true\" [ngClass]=\"{ 'p-highlight': value != null, 'p-disabled': disabled, 'p-focus': focused }\">\n                <ng-container *ngIf=\"value === true\">\n                    <span *ngIf=\"checkboxTrueIcon\" [ngClass]=\"checkboxTrueIcon\" class=\"p-checkbox-icon\" [attr.data-pc-section]=\"'checkIcon'\"></span>\n                    <ng-container *ngIf=\"!checkboxTrueIcon\">\n                        <CheckIcon [styleClass]=\"'p-checkbox-icon'\" *ngIf=\"!checkIconTemplate\" [attr.data-pc-section]=\"'checkIcon'\" />\n                        <span *ngIf=\"checkIconTemplate\" class=\"p-checkbox-icon\" [attr.data-pc-section]=\"'checkIcon'\">\n                            <ng-template *ngTemplateOutlet=\"checkIconTemplate\"></ng-template>\n                        </span>\n                    </ng-container>\n                </ng-container>\n                <ng-container *ngIf=\"value === false\">\n                    <span *ngIf=\"checkboxFalseIcon\" [ngClass]=\"checkboxFalseIcon\" class=\"p-checkbox-icon\" [attr.data-pc-section]=\"'uncheckIcon'\"></span>\n                    <ng-container *ngIf=\"!checkboxFalseIcon\">\n                        <TimesIcon [styleClass]=\"'p-checkbox-icon'\" *ngIf=\"!uncheckIconTemplate\" [attr.data-pc-section]=\"'uncheckIcon'\" />\n                        <span class=\"p-checkbox-icon\" *ngIf=\"uncheckIconTemplate\" [attr.data-pc-section]=\"'uncheckIcon'\">\n                            <ng-template *ngTemplateOutlet=\"uncheckIconTemplate\"></ng-template>\n                        </span>\n                    </ng-container>\n                </ng-container>\n            </div>\n        </div>\n        <label class=\"p-checkbox-label\" (click)=\"onClick($event, input)\" [ngClass]=\"{ 'p-checkbox-label-active': value != null, 'p-disabled': disabled, 'p-checkbox-label-focus': focused }\" *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    constructor(private cd: ChangeDetectorRef) {}\n    /**\n     * When present, it specifies that the element should be disabled.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n    /**\n     * Name of the component.\n     * @group Props\n     */\n    @Input() name: string | undefined;\n    /**\n     * Defines a string that labels the input for accessibility.\n     * @group Props\n     */\n    @Input() ariaLabel: string | undefined;\n    /**\n     * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n     * @group Props\n     */\n    @Input() ariaLabelledBy: string | undefined;\n    /**\n     * Index of the element in tabbing order.\n     * @group Props\n     */\n    @Input({ transform: numberAttribute }) tabindex: number | undefined;\n    /**\n     * Identifier of the focus input to match a label defined for the component.\n     * @group Props\n     */\n    @Input() inputId: string | undefined;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Label of the checkbox.\n     * @group Props\n     */\n    @Input() label: string | undefined;\n    /**\n     * When present, it specifies that the component cannot be edited.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n    /**\n     * Specifies the icon for checkbox true value.\n     * @group Props\n     */\n    @Input() checkboxTrueIcon: string | undefined;\n    /**\n     * Specifies the icon for checkbox false value.\n     * @group Props\n     */\n    @Input() checkboxFalseIcon: string | undefined;\n    /**\n     * When present, it specifies that the component should automatically get focus on load.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n    /**\n     * Callback to invoke on value change.\n     * @param {TriStateCheckboxChangeEvent} event - Custom change event.\n     * @group Emits\n     */\n    @Output() onChange: EventEmitter<TriStateCheckboxChangeEvent> = new EventEmitter<TriStateCheckboxChangeEvent>();\n\n    @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n    checkIconTemplate: Nullable<TemplateRef<any>>;\n\n    uncheckIconTemplate: Nullable<TemplateRef<any>>;\n\n    focused: Nullable<boolean>;\n\n    value: Nullable<boolean>;\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.key === 'Enter') {\n            this.toggle(event);\n            event.preventDefault();\n        }\n    }\n\n    toggle(event: Event) {\n        if (this.value == null || this.value == undefined) this.value = true;\n        else if (this.value == true) this.value = false;\n        else if (this.value == false) this.value = null;\n\n        this.onModelChange(this.value);\n        this.onChange.emit({\n            originalEvent: event,\n            value: this.value\n        });\n    }\n\n    ngAfterContentInit() {\n        this.templates.forEach((item) => {\n            switch (item.getType()) {\n                case 'checkicon':\n                    this.checkIconTemplate = item.template;\n                    break;\n\n                case 'uncheckicon':\n                    this.uncheckIconTemplate = item.template;\n                    break;\n            }\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, SharedModule, AutoFocusModule, CheckIcon, TimesIcon],\n    exports: [TriStateCheckbox, SharedModule],\n    declarations: [TriStateCheckbox]\n})\nexport class TriStateCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}