{"version":3,"file":"primeng-checkbox.mjs","sources":["../../src/checkbox/style/checkboxstyle.ts","../../src/checkbox/checkbox.ts","../../src/checkbox/primeng-checkbox.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/checkbox';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: ({ instance }) => [\n        'p-checkbox p-component',\n        {\n            'p-checkbox-checked': instance.checked(),\n            'p-disabled': instance.$disabled(),\n            'p-invalid': instance.invalid(),\n            'p-variant-filled': instance.$variant() === 'filled',\n            'p-checkbox-sm p-inputfield-sm': instance.size() === 'small',\n            'p-checkbox-lg p-inputfield-lg': instance.size() === 'large'\n        }\n    ],\n    box: 'p-checkbox-box',\n    input: 'p-checkbox-input',\n    indicator: 'p-checkbox-indicator',\n    icon: 'p-checkbox-icon'\n};\n\n@Injectable()\nexport class CheckboxStyle extends BaseStyle {\n    name = 'checkbox';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Checkbox is an extension to standard checkbox element with theming.\n *\n * [Live Demo](https://www.primeng.org/checkbox/)\n *\n * @module checkboxstyle\n *\n */\nexport enum CheckboxClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-checkbox',\n    /**\n     * Class name of the box element\n     */\n    box = 'p-checkbox-box',\n    /**\n     * Class name of the input element\n     */\n    input = 'p-checkbox-input',\n    /**\n     * Class name of the indicator element\n     */\n    indicator = 'p-checkbox-indicator',\n    /**\n     * Class name of the icon element\n     */\n    icon = 'p-checkbox-icon'\n}\n\nexport interface CheckboxStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    effect,\n    ElementRef,\n    forwardRef,\n    inject,\n    InjectionToken,\n    input,\n    NgModule,\n    numberAttribute,\n    output,\n    Provider,\n    signal,\n    TemplateRef,\n    viewChild,\n    ViewEncapsulation\n} from '@angular/core';\nimport { FormControl, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { contains, equals } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Check } from '@primeicons/angular/check';\nimport { Minus } from '@primeicons/angular/minus';\nimport { Nullable } from 'primeng/ts-helpers';\nimport type { CSSProperties, InputSize, InputVariant } from 'primeng/types/shared';\nimport { CheckboxChangeEvent, CheckboxIconTemplateContext, CheckboxPassThrough } from 'primeng/types/checkbox';\nimport { CheckboxStyle } from './style/checkboxstyle';\n\nconst CHECKBOX_INSTANCE = new InjectionToken<Checkbox>('CHECKBOX_INSTANCE');\n\nexport const CHECKBOX_VALUE_ACCESSOR: Provider = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => Checkbox),\n    multi: true\n};\n/**\n * Checkbox is an extension to standard checkbox element with theming.\n * @group Components\n */\n@Component({\n    selector: 'p-checkbox, p-check-box',\n    standalone: true,\n    imports: [NgTemplateOutlet, SharedModule, Check, Minus, BindModule],\n    template: `\n        <input\n            #input\n            [attr.id]=\"inputId()\"\n            type=\"checkbox\"\n            [attr.value]=\"value()\"\n            [attr.name]=\"name()\"\n            [checked]=\"checked()\"\n            [attr.tabindex]=\"tabindex()\"\n            [attr.required]=\"requiredAttr()\"\n            [attr.readonly]=\"readonlyAttr()\"\n            [attr.disabled]=\"disabledAttr()\"\n            [attr.aria-labelledby]=\"ariaLabelledBy()\"\n            [attr.aria-label]=\"ariaLabel()\"\n            [style]=\"inputStyle()\"\n            [class]=\"cn(cx('input'), inputClass())\"\n            [pBind]=\"ptm('input')\"\n            (focus)=\"onInputFocus($event)\"\n            (blur)=\"onInputBlur($event)\"\n            (change)=\"handleChange($event)\"\n        />\n        <div [class]=\"cx('box')\" [pBind]=\"ptm('box')\" [attr.data-p]=\"dataP()\">\n            @if (!iconTemplate()) {\n                @if (checked()) {\n                    <span [class]=\"cx('indicator')\" [pBind]=\"ptm('indicator')\">\n                        @if (checkboxIcon()) {\n                            <span [class]=\"cn(cx('icon'), checkboxIcon())\" [pBind]=\"ptm('icon')\" [attr.data-p]=\"dataP()\"></span>\n                        } @else {\n                            <svg data-p-icon=\"check\" [class]=\"cx('icon')\" [pBind]=\"ptm('icon')\" [attr.data-p]=\"dataP()\" />\n                        }\n                    </span>\n                }\n                @if (_indeterminate()) {\n                    <span [class]=\"cx('indicator')\" [pBind]=\"ptm('indicator')\">\n                        <svg data-p-icon=\"minus\" [class]=\"cx('icon')\" [pBind]=\"ptm('icon')\" [attr.data-p]=\"dataP()\" />\n                    </span>\n                }\n            } @else {\n                <ng-container *ngTemplateOutlet=\"iconTemplate(); context: iconTemplateContext()\"></ng-container>\n            }\n        </div>\n    `,\n    providers: [CHECKBOX_VALUE_ACCESSOR, CheckboxStyle, { provide: CHECKBOX_INSTANCE, useExisting: Checkbox }, { provide: PARENT_INSTANCE, useExisting: Checkbox }],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class]': \"cx('root')\",\n        '[attr.data-p-highlight]': 'checked()',\n        '[attr.data-p-checked]': 'checked()',\n        '[attr.data-p-disabled]': '$disabled()',\n        '[attr.data-p]': 'dataP()'\n    },\n    hostDirectives: [Bind]\n})\nexport class Checkbox extends BaseEditableHolder<CheckboxPassThrough> {\n    componentName = 'Checkbox';\n\n    /**\n     * Value of the checkbox.\n     * @group Props\n     */\n    value = input<any>();\n    /**\n     * Allows to select a boolean value instead of multiple values.\n     * @group Props\n     */\n    binary = input(false, { transform: booleanAttribute });\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    ariaLabelledBy = input<string>();\n    /**\n     * Used to define a string that labels the input element.\n     * @group Props\n     */\n    ariaLabel = input<string>();\n    /**\n     * Index of the element in tabbing order.\n     * @group Props\n     */\n    tabindex = input<number>();\n    /**\n     * Identifier of the focus input to match a label defined for the component.\n     * @group Props\n     */\n    inputId = input<string>();\n    /**\n     * Inline style of the input element.\n     * @group Props\n     */\n    inputStyle = input<CSSProperties>();\n    /**\n     * Style class of the input element.\n     * @group Props\n     */\n    inputClass = input<string>();\n    /**\n     * When present, it specifies input state as indeterminate.\n     * @group Props\n     */\n    indeterminate = input(false, { transform: booleanAttribute });\n    /**\n     * Form control value.\n     * @group Props\n     */\n    formControl = input<FormControl>();\n    /**\n     * Icon class of the checkbox icon.\n     * @group Props\n     */\n    checkboxIcon = input<string>();\n    /**\n     * When present, it specifies that the component cannot be edited.\n     * @group Props\n     */\n    readonly = input(false, { transform: booleanAttribute });\n    /**\n     * When present, it specifies that the component should automatically get focus on load.\n     * @group Props\n     */\n    autofocus = input(false, { transform: booleanAttribute });\n    /**\n     * Value in checked state.\n     * @group Props\n     */\n    trueValue = input<any>(true);\n    /**\n     * Value in unchecked state.\n     * @group Props\n     */\n    falseValue = input<any>(false);\n    /**\n     * Specifies the input variant of the component.\n     * @defaultValue undefined\n     * @group Props\n     */\n    variant = input<InputVariant>();\n    /**\n     * Specifies the size of the component.\n     * @defaultValue undefined\n     * @group Props\n     */\n    size = input<InputSize>();\n    /**\n     * Callback to invoke on value change.\n     * @param {CheckboxChangeEvent} event - Custom value change event.\n     * @group Emits\n     */\n    onChange = output<CheckboxChangeEvent>();\n    /**\n     * Callback to invoke when the receives focus.\n     * @param {Event} event - Browser event.\n     * @group Emits\n     */\n    onFocus = output<Event>();\n    /**\n     * Callback to invoke when the loses focus.\n     * @param {Event} event - Browser event.\n     * @group Emits\n     */\n    onBlur = output<Event>();\n\n    inputViewChild = viewChild<ElementRef>('input');\n\n    /**\n     * Custom checkbox icon template.\n     * @group Templates\n     */\n    iconTemplate = contentChild<TemplateRef<CheckboxIconTemplateContext>>('icon', { descendants: false });\n\n    _indeterminate = signal<boolean>(false);\n\n    focused = signal(false);\n\n    _componentStyle = inject(CheckboxStyle);\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    $pcCheckbox: Checkbox | undefined = inject(CHECKBOX_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    $variant = computed(() => this.variant() || this.config.inputVariant());\n\n    requiredAttr = computed(() => (this.required() ? '' : undefined));\n\n    readonlyAttr = computed(() => (this.readonly() ? '' : undefined));\n\n    disabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n    checked = computed(() => {\n        if (this._indeterminate()) return false;\n        return this.binary() ? this.modelValue() === this.trueValue() : contains(this.value(), this.modelValue());\n    });\n\n    iconTemplateContext = computed(() => ({\n        checked: this.checked(),\n        class: this.cx('icon'),\n        dataP: this.dataP()\n    }));\n\n    dataP = computed(() => {\n        return this.cn({\n            invalid: this.invalid(),\n            checked: this.checked(),\n            disabled: this.$disabled(),\n            filled: this.$variant() === 'filled',\n            [this.size() as string]: this.size()\n        });\n    });\n\n    constructor() {\n        super();\n        effect(() => {\n            const indeterminate = this.indeterminate();\n            this._indeterminate.set(indeterminate);\n        });\n    }\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    updateModel(event: Event) {\n        let newModelValue: any;\n\n        /*\n         * When `formControlName` or `formControl` is used - `writeValue` is not called after control changes.\n         * Otherwise it is causing multiple references to the actual value: there is one array reference inside the component and another one in the control value.\n         * `selfControl` is the source of truth of references, it is made to avoid reference loss.\n         * */\n        const selfControl = this.injector.get<NgControl | null>(NgControl, null, { optional: true, self: true });\n\n        const currentModelValue = selfControl && !this.formControl() ? selfControl.value : this.modelValue();\n\n        if (!this.binary()) {\n            if (this.checked() || this._indeterminate()) newModelValue = currentModelValue.filter((val: unknown) => !equals(val, this.value()));\n            else newModelValue = currentModelValue ? [...currentModelValue, this.value()] : [this.value()];\n\n            this.onModelChange(newModelValue);\n            this.writeModelValue(newModelValue);\n\n            const formControl = this.formControl();\n            if (formControl) {\n                formControl.setValue(newModelValue);\n            }\n        } else {\n            newModelValue = this._indeterminate() ? this.trueValue() : this.checked() ? this.falseValue() : this.trueValue();\n            this.writeModelValue(newModelValue);\n            this.onModelChange(newModelValue);\n        }\n\n        if (this._indeterminate()) {\n            this._indeterminate.set(false);\n        }\n\n        this.onChange.emit({ checked: newModelValue, originalEvent: event });\n    }\n\n    handleChange(event: Event) {\n        if (!this.readonly()) {\n            this.updateModel(event);\n        }\n    }\n\n    onInputFocus(event: FocusEvent) {\n        this.focused.set(true);\n        this.onFocus.emit(event);\n    }\n\n    onInputBlur(event: FocusEvent) {\n        this.focused.set(false);\n        this.onBlur.emit(event);\n        this.onModelTouched();\n    }\n\n    focus() {\n        this.inputViewChild()?.nativeElement.focus();\n    }\n\n    /**\n     * @override\n     *\n     * @see {@link BaseEditableHolder.writeControlValue}\n     * Writes the value to the control.\n     */\n    writeControlValue(value: any, setModelValue: (value: any) => void): void {\n        setModelValue(value);\n    }\n}\n\n@NgModule({\n    imports: [Checkbox, SharedModule],\n    exports: [Checkbox, SharedModule]\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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"}