{"version":3,"file":"igniteui-angular-checkbox.mjs","sources":["../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.component.ts","../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.component.html","../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.module.ts","../../../projects/igniteui-angular/checkbox/src/igniteui-angular-checkbox.ts"],"sourcesContent":["import {\n    Component,\n    HostBinding,\n    Input,\n    AfterViewInit,\n    booleanAttribute,\n} from '@angular/core';\nimport { CheckboxBaseDirective, IgxRippleDirective } from 'igniteui-angular/directives';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { EditorProvider, EDITOR_PROVIDER } from 'igniteui-angular/core';\n\n/**\n * Allows users to make a binary choice for a certain condition.\n *\n * @igxModule IgxCheckboxModule\n *\n * @igxTheme igx-checkbox-theme\n *\n * @igxKeywords checkbox, label\n *\n * @igxGroup Data entry and display\n *\n * @remarks\n * The Ignite UI Checkbox is a selection control that allows users to make a binary choice for a certain condition.It behaves similarly\n * to the native browser checkbox.\n *\n * @example\n * ```html\n * <igx-checkbox [checked]=\"true\">\n *   simple checkbox\n * </igx-checkbox>\n * ```\n */\n@Component({\n    selector: 'igx-checkbox',\n    providers: [\n        {\n            provide: EDITOR_PROVIDER,\n            useExisting: IgxCheckboxComponent,\n            multi: true,\n        },\n    ],\n    preserveWhitespaces: false,\n    templateUrl: 'checkbox.component.html',\n    imports: [IgxRippleDirective],\n})\nexport class IgxCheckboxComponent\n    extends CheckboxBaseDirective\n    implements AfterViewInit, ControlValueAccessor, EditorProvider {\n    /**\n     * Returns the class of the checkbox component.\n     *\n     * @example\n     * ```typescript\n     * let class = this.checkbox.cssClass;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox')\n    public override cssClass = 'igx-checkbox';\n\n    /**\n     * Returns if the component is of type `material`.\n     *\n     * @example\n     * ```typescript\n     * let checkbox = this.checkbox.material;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--material')\n    protected get material() {\n        return this.theme === 'material';\n    }\n\n    /**\n     * Returns if the component is of type `indigo`.\n     *\n     * @example\n     * ```typescript\n     * let checkbox = this.checkbox.indigo;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--indigo')\n    protected get indigo() {\n        return this.theme === 'indigo';\n    }\n\n    /**\n     * Returns if the component is of type `bootstrap`.\n     *\n     * @example\n     * ```typescript\n     * let checkbox = this.checkbox.bootstrap;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--bootstrap')\n    protected get bootstrap() {\n        return this.theme === 'bootstrap';\n    }\n\n    /**\n     * Returns if the component is of type `fluent`.\n     *\n     * @example\n     * ```typescript\n     * let checkbox = this.checkbox.fluent;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--fluent')\n    protected get fluent() {\n        return this.theme === 'fluent';\n    }\n\n    /**\n     * Sets/gets whether the checkbox component is on focus.\n     * Default value is `false`.\n     *\n     * @example\n     * ```typescript\n     * this.checkbox.focused =  true;\n     * ```\n     * ```typescript\n     * let isFocused = this.checkbox.focused;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--focused')\n    public override focused = false;\n\n    /**\n     * Sets/gets the checkbox indeterminate visual state.\n     * Default value is `false`;\n     *\n     * @example\n     * ```html\n     * <igx-checkbox [indeterminate]=\"true\"></igx-checkbox>\n     * ```\n     * ```typescript\n     * let isIndeterminate = this.checkbox.indeterminate;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--indeterminate')\n    @Input({ transform: booleanAttribute })\n    public override indeterminate = false;\n\n    /**\n     * Sets/gets whether the checkbox is checked.\n     * Default value is `false`.\n     *\n     * @example\n     * ```html\n     * <igx-checkbox [checked]=\"true\"></igx-checkbox>\n     * ```\n     * ```typescript\n     * let isChecked =  this.checkbox.checked;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--checked')\n    @Input({ transform: booleanAttribute })\n    public override set checked(value: boolean) {\n        super.checked = value;\n    }\n    public override get checked() {\n        return super.checked;\n    }\n\n    /**\n     * Sets/gets whether the checkbox is disabled.\n     * Default value is `false`.\n     *\n     * @example\n     * ```html\n     * <igx-checkbox disabled></igx-checkbox>\n     * ```\n     * ```typescript\n     * let isDisabled = this.checkbox.disabled;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--disabled')\n    @Input({ transform: booleanAttribute })\n    public override disabled = false;\n\n    /**\n     * Sets/gets whether the checkbox is invalid.\n     * Default value is `false`.\n     *\n     * @example\n     * ```html\n     * <igx-checkbox invalid></igx-checkbox>\n     * ```\n     * ```typescript\n     * let isInvalid = this.checkbox.invalid;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--invalid')\n    @Input({ transform: booleanAttribute })\n    public override invalid = false;\n\n    /**\n     * Sets/gets whether the checkbox is readonly.\n     * Default value is `false`.\n     *\n     * @example\n     * ```html\n     * <igx-checkbox [readonly]=\"true\"></igx-checkbox>\n     * ```\n     * ```typescript\n     * let readonly = this.checkbox.readonly;\n     * ```\n     */\n    @Input({ transform: booleanAttribute })\n    public override readonly = false;\n\n    /**\n     * Sets/gets whether the checkbox should disable all css transitions.\n     * Default value is `false`.\n     *\n     * @example\n     * ```html\n     * <igx-checkbox [disableTransitions]=\"true\"></igx-checkbox>\n     * ```\n     * ```typescript\n     * let disableTransitions = this.checkbox.disableTransitions;\n     * ```\n     */\n    @HostBinding('class.igx-checkbox--plain')\n    @Input({ transform: booleanAttribute })\n    public disableTransitions = false;\n}\n","<input #checkbox class=\"igx-checkbox__input\"\n    type=\"checkbox\"\n    [id]=\"inputId\"\n    [name]=\"name\"\n    [value]=\"value\"\n    [tabindex]=\"tabindex\"\n    [disabled]=\"disabled\"\n    [indeterminate]=\"indeterminate\"\n    [checked]=\"checked\"\n    [required]=\"required\"\n    [attr.aria-required]=\"required\"\n    [attr.aria-invalid]=\"invalid\"\n    [attr.aria-checked]=\"ariaChecked\"\n    [attr.aria-labelledby]=\"ariaLabel ? null : ariaLabelledBy\"\n    [attr.aria-label]=\"ariaLabel\"\n    (change)=\"_onCheckboxChange($event)\"\n    (blur)=\"onBlur()\" />\n\n<div\n    igxRipple\n    igxRippleTarget=\".igx-checkbox__ripple\"\n    [igxRippleDisabled]=\"disableRipple\"\n    [igxRippleCentered]=\"true\"\n    [igxRippleDuration]=\"300\"\n    class=\"igx-checkbox__composite-wrapper\"\n>\n    <span #label class=\"igx-checkbox__composite\">\n        @if (theme === 'indigo') {\n            <svg class=\"igx-checkbox__composite-mark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n                <rect width=\"18\" height=\"4\" x=\"2\" y=\"9\" rx=\"1.85\"/>\n                <path d=\"M19.033 5a1.966 1.966 0 0 0-1.418.586l-8.479 8.577-2.753-2.77a1.971 1.971 0 0 0-2.8 0 1.998 1.998 0 0 0 0 2.822l4.155 4.196a1.955 1.955 0 0 0 2.8 0l9.879-9.99a1.998 1.998 0 0 0 0-2.821 1.966 1.966 0 0 0-1.384-.6Z\"/>\n            </svg>\n        } @else {\n            <svg class=\"igx-checkbox__composite-mark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n                <path d=\"M4.1,12.7 9,17.6 20.3,6.3\"/>\n            </svg>\n        }\n    </span>\n\n    <div class=\"igx-checkbox__ripple\"></div>\n</div>\n\n<span #placeholderLabel\n    [class]=\"labelClass\"\n    [id]=\"labelId\">\n    <ng-content></ng-content>\n</span>\n","import { NgModule } from '@angular/core';\nimport { IgxCheckboxComponent } from './checkbox.component';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n    imports: [IgxCheckboxComponent],\n    exports: [IgxCheckboxComponent]\n})\nexport class IgxCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}