import { MXValueComponent, MXColorComponent, AXValuableComponent, AXComponent } from '@acorex/cdk/common';
import { AXLabelComponent } from '@acorex/components/label';
import { AXLoadingComponent } from '@acorex/components/loading';
import { coerceBooleanProperty } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { input, forwardRef, HostBinding, HostListener, Input, ContentChildren, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
import * as i1 from '@angular/forms';
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
import { classes } from 'polytype';

/**
 * A checkbox component that allows users to select or deselect an option.
 *
 * @category Components
 */
class AXCheckBoxComponent extends classes((MXValueComponent), MXColorComponent) {
    constructor() {
        super(...arguments);
        this.isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
        /**
         * Sets the checkbox to an indeterminate state.
         *
         * @defaultValue false
         */
        this.indeterminate = false;
        /**
         *  @ignore
         */
        this._stateIndeterminate = false;
    }
    /**
     *  @ignore
     */
    internalGetValue(value) {
        if (!this.indeterminate && value == null) {
            return false;
        }
        if (this.indeterminate && value == null) {
            return null;
        }
        return coerceBooleanProperty(value);
    }
    /**
     * Sets the checkbox state based on the provided value.
     *
     * @param value - `boolean` or `null`. Determines if the checkbox is checked, unchecked, or indeterminate.
     */
    internalSetValue(value) {
        if (this.indeterminate && value == null) {
            this._stateIndeterminate = true;
            return null;
        }
        else if (!this.indeterminate && value == null) {
            this._stateIndeterminate = false;
            return false;
        }
        else {
            this._stateIndeterminate = false;
            return value == true ? true : false;
        }
    }
    /**
     *  @ignore
     */
    ngOnInit() {
        super.ngOnInit();
        //
        this.registerValidation();
    }
    /**
     * @ignore
     */
    ngAfterViewInit() {
        this._labels?.forEach((c) => {
            //TODO: remove listener
            c.getHostElement().addEventListener('click', () => {
                this.changeValue();
            });
        });
    }
    /**
     * @ignore
     */
    _handleClick(e) {
        e.stopPropagation();
        if (this.readonly || this.disabled || this.isLoading()) {
            e.preventDefault();
            return false;
        }
        return true;
    }
    /**
     *  @ignore
     */
    _handleModelChange(value) {
        this.commitValue(value, true);
    }
    /**
     * @ignore
     */
    get __hostClass() {
        return `ax-${this.color ? this.color : 'primary'}`;
    }
    changeValue() {
        if (!this.readonly && !this.disabled && !this.isLoading()) {
            this.commitValue(!this.value, true);
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXCheckBoxComponent, isStandalone: true, selector: "ax-check-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { listeners: { "click": "_handleClick($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
            { provide: AXValuableComponent, useExisting: AXCheckBoxComponent },
            {
                provide: NG_VALUE_ACCESSOR,
                useExisting: forwardRef(() => AXCheckBoxComponent),
                multi: true,
            },
            { provide: AXComponent, useExisting: AXCheckBoxComponent },
        ], queries: [{ propertyName: "_labels", predicate: AXLabelComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-checkbox-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n  <div class=\"ax-checkbox-start-side\">\n    @if (isLoading()) {\n      <div class=\"ax-loading-container\">\n        <ax-loading></ax-loading>\n      </div>\n    } @else {\n      <input\n        [id]=\"id\"\n        class=\"ax-check-box\"\n        type=\"checkbox\"\n        [indeterminate]=\"_stateIndeterminate\"\n        [ngModel]=\"value\"\n        (ngModelChange)=\"_handleModelChange($event)\"\n        [checked]=\"value\"\n        [disabled]=\"disabled\"\n        [readonly]=\"readonly\"\n        [tabindex]=\"tabIndex\"\n        (focus)=\"emitOnFocusEvent($event)\"\n        (blur)=\"emitOnBlurEvent($event)\"\n        #cb\n      />\n      <div class=\"ax-checkbox-background\" (click)=\"changeValue()\">\n        @if (cb.indeterminate) {\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n            <rect x=\"3\" y=\"7\" width=\"10\" height=\"2\" />\n          </svg>\n        }\n        @if (cb.checked) {\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n            <path\n              d=\"M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z\"\n            />\n          </svg>\n        }\n      </div>\n    }\n  </div>\n  <div class=\"ax-checkbox-end-side\">\n    <ng-content select=\"ax-label\"></ng-content>\n    <ng-content select=\"ax-form-hint\"></ng-content>\n    <span class=\"ax-error-container\"></span>\n  </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n", styles: ["ax-check-box{--ax-comp-checkbox-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-checkbox-border-color: var(--ax-sys-color-border-surface)}ax-check-box.ax-primary{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-primary-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-primary-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-primary-surface)}ax-check-box.ax-secondary{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-secondary-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-secondary-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-secondary-surface)}ax-check-box.ax-success{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-success-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-success-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-success-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-success-surface)}ax-check-box.ax-warning{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-warning-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-warning-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-warning-surface)}ax-check-box.ax-danger{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-danger-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-danger-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-danger-surface)}ax-check-box.ax-accent1{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent1-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent1-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent1-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent1-surface)}ax-check-box.ax-accent2{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent2-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent2-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent2-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent2-surface)}ax-check-box.ax-accent3{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent3-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent3-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent3-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent3-surface)}ax-check-box.ax-accent4{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent4-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent4-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent4-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent4-surface)}ax-check-box.ax-accent5{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent5-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent5-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent5-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent5-surface)}ax-check-box.ax-accent6{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent6-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent6-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent6-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent6-surface)}ax-check-box.ax-accent7{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent7-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent7-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent7-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent7-surface)}ax-check-box.ax-default{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-primary-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-primary-surface)}.ax-checkbox-label{display:flex;width:fit-content;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;font-size:var(--ax-comp-checkbox-font-size, .875rem);line-height:var(--ax-comp-checkbox-line-height, 1.25rem)}.ax-checkbox-label.ax-state-readonly{opacity:var(--ax-comp-checkbox-readonly-opacity, .75)}.ax-checkbox-label.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-checkbox-disabled-opacity, .5)}.ax-checkbox-label.ax-state-disabled .ax-check-box:disabled{opacity:1}.ax-checkbox-label .ax-checkbox-start-side{display:flex;position:relative;align-items:center;height:1.25rem}.ax-checkbox-label .ax-checkbox-start-side .ax-loading-container{width:1rem}.ax-checkbox-label .ax-checkbox-start-side .ax-check-box{margin:0;height:1rem;min-width:1rem;cursor:pointer;-webkit-appearance:none;appearance:none;outline-offset:2px;vertical-align:middle;outline:2px solid transparent;border-width:var(--ax-comp-checkbox-border-width, 1px);border-color:rgba(var(--ax-comp-checkbox-border-color));border-radius:var(--ax-comp-checkbox-border-radius, .25rem);transition-duration:var(--ax-sys-transition-duration);background-color:rgba(var(--ax-comp-checkbox-bg-color));transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:checked,.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:indeterminate{background-size:contain;background-repeat:no-repeat;border-color:rgba(var(--ax-comp-checkbox-checked-border-color))!important;background-color:rgba(var(--ax-comp-checkbox-checked-bg-color))!important}.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:focus-visible,.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:focus{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-surface)),0 0 0 4px rgba(var(--ax-comp-checkbox-checked-box-shadow-outline-color))}.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:disabled{cursor:not-allowed;opacity:var(--ax-comp-checkbox-disabled-opacity, .5)}.ax-checkbox-label .ax-checkbox-start-side .ax-checkbox-background{position:absolute}.ax-checkbox-label .ax-checkbox-start-side .ax-checkbox-background svg{fill:rgba(var(--ax-comp-checkbox-checked-bg-svg-fill))}.ax-checkbox-label .ax-checkbox-end-side{display:flex;flex-direction:column;gap:var(--ax-comp-checkbox-end-side-gap, .25rem)}.ax-checkbox-label .ax-checkbox-end-side ax-label label{margin-bottom:0}.ax-checkbox-label .ax-checkbox-end-side ax-form-hint{margin:0;cursor:text;-webkit-user-select:text;user-select:text}.ax-checkbox-label .ax-checkbox-end-side ax-label,.ax-checkbox-label .ax-checkbox-end-side ax-form-hint,.ax-checkbox-label .ax-checkbox-end-side .ax-error-container{padding-inline-start:var(--ax-comp-checkbox-end-side-padding-s, .75rem)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCheckBoxComponent, decorators: [{
            type: Component,
            args: [{ selector: 'ax-check-box', inputs: ['disabled', 'tabIndex', 'readonly', 'color', 'value', 'name', 'id'], outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
                        { provide: AXValuableComponent, useExisting: AXCheckBoxComponent },
                        {
                            provide: NG_VALUE_ACCESSOR,
                            useExisting: forwardRef(() => AXCheckBoxComponent),
                            multi: true,
                        },
                        { provide: AXComponent, useExisting: AXCheckBoxComponent },
                    ], imports: [FormsModule, AXLoadingComponent], template: "<div class=\"ax-checkbox-label\" [class.ax-state-readonly]=\"readonly\" [class.ax-state-disabled]=\"disabled\">\n  <div class=\"ax-checkbox-start-side\">\n    @if (isLoading()) {\n      <div class=\"ax-loading-container\">\n        <ax-loading></ax-loading>\n      </div>\n    } @else {\n      <input\n        [id]=\"id\"\n        class=\"ax-check-box\"\n        type=\"checkbox\"\n        [indeterminate]=\"_stateIndeterminate\"\n        [ngModel]=\"value\"\n        (ngModelChange)=\"_handleModelChange($event)\"\n        [checked]=\"value\"\n        [disabled]=\"disabled\"\n        [readonly]=\"readonly\"\n        [tabindex]=\"tabIndex\"\n        (focus)=\"emitOnFocusEvent($event)\"\n        (blur)=\"emitOnBlurEvent($event)\"\n        #cb\n      />\n      <div class=\"ax-checkbox-background\" (click)=\"changeValue()\">\n        @if (cb.indeterminate) {\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n            <rect x=\"3\" y=\"7\" width=\"10\" height=\"2\" />\n          </svg>\n        }\n        @if (cb.checked) {\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n            <path\n              d=\"M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z\"\n            />\n          </svg>\n        }\n      </div>\n    }\n  </div>\n  <div class=\"ax-checkbox-end-side\">\n    <ng-content select=\"ax-label\"></ng-content>\n    <ng-content select=\"ax-form-hint\"></ng-content>\n    <span class=\"ax-error-container\"></span>\n  </div>\n</div>\n<ng-content select=\"ax-validation-rule\"></ng-content>\n", styles: ["ax-check-box{--ax-comp-checkbox-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-checkbox-border-color: var(--ax-sys-color-border-surface)}ax-check-box.ax-primary{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-primary-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-primary-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-primary-surface)}ax-check-box.ax-secondary{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-secondary-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-secondary-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-secondary-surface)}ax-check-box.ax-success{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-success-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-success-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-success-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-success-surface)}ax-check-box.ax-warning{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-warning-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-warning-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-warning-surface)}ax-check-box.ax-danger{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-danger-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-danger-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-danger-surface)}ax-check-box.ax-accent1{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent1-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent1-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent1-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent1-surface)}ax-check-box.ax-accent2{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent2-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent2-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent2-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent2-surface)}ax-check-box.ax-accent3{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent3-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent3-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent3-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent3-surface)}ax-check-box.ax-accent4{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent4-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent4-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent4-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent4-surface)}ax-check-box.ax-accent5{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent5-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent5-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent5-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent5-surface)}ax-check-box.ax-accent6{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent6-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent6-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent6-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent6-surface)}ax-check-box.ax-accent7{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-accent7-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-accent7-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-accent7-surface);--ax-comp-checkbox-checked-box-shadow-outline-color: var(--ax-sys-color-accent7-surface)}ax-check-box.ax-default{--ax-comp-checkbox-checked-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-checkbox-checked-bg-svg-fill: var(--ax-sys-color-on-primary-surface);--ax-comp-checkbox-checked-border-color: var(--ax-sys-color-primary-surface)}.ax-checkbox-label{display:flex;width:fit-content;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;font-size:var(--ax-comp-checkbox-font-size, .875rem);line-height:var(--ax-comp-checkbox-line-height, 1.25rem)}.ax-checkbox-label.ax-state-readonly{opacity:var(--ax-comp-checkbox-readonly-opacity, .75)}.ax-checkbox-label.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-checkbox-disabled-opacity, .5)}.ax-checkbox-label.ax-state-disabled .ax-check-box:disabled{opacity:1}.ax-checkbox-label .ax-checkbox-start-side{display:flex;position:relative;align-items:center;height:1.25rem}.ax-checkbox-label .ax-checkbox-start-side .ax-loading-container{width:1rem}.ax-checkbox-label .ax-checkbox-start-side .ax-check-box{margin:0;height:1rem;min-width:1rem;cursor:pointer;-webkit-appearance:none;appearance:none;outline-offset:2px;vertical-align:middle;outline:2px solid transparent;border-width:var(--ax-comp-checkbox-border-width, 1px);border-color:rgba(var(--ax-comp-checkbox-border-color));border-radius:var(--ax-comp-checkbox-border-radius, .25rem);transition-duration:var(--ax-sys-transition-duration);background-color:rgba(var(--ax-comp-checkbox-bg-color));transition-timing-function:var(--ax-sys-transition-timing-function)}.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:checked,.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:indeterminate{background-size:contain;background-repeat:no-repeat;border-color:rgba(var(--ax-comp-checkbox-checked-border-color))!important;background-color:rgba(var(--ax-comp-checkbox-checked-bg-color))!important}.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:focus-visible,.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:focus{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-surface)),0 0 0 4px rgba(var(--ax-comp-checkbox-checked-box-shadow-outline-color))}.ax-checkbox-label .ax-checkbox-start-side .ax-check-box:disabled{cursor:not-allowed;opacity:var(--ax-comp-checkbox-disabled-opacity, .5)}.ax-checkbox-label .ax-checkbox-start-side .ax-checkbox-background{position:absolute}.ax-checkbox-label .ax-checkbox-start-side .ax-checkbox-background svg{fill:rgba(var(--ax-comp-checkbox-checked-bg-svg-fill))}.ax-checkbox-label .ax-checkbox-end-side{display:flex;flex-direction:column;gap:var(--ax-comp-checkbox-end-side-gap, .25rem)}.ax-checkbox-label .ax-checkbox-end-side ax-label label{margin-bottom:0}.ax-checkbox-label .ax-checkbox-end-side ax-form-hint{margin:0;cursor:text;-webkit-user-select:text;user-select:text}.ax-checkbox-label .ax-checkbox-end-side ax-label,.ax-checkbox-label .ax-checkbox-end-side ax-form-hint,.ax-checkbox-label .ax-checkbox-end-side .ax-error-container{padding-inline-start:var(--ax-comp-checkbox-end-side-padding-s, .75rem)}\n"] }]
        }], propDecorators: { _labels: [{
                type: ContentChildren,
                args: [AXLabelComponent]
            }], indeterminate: [{
                type: Input
            }], _handleClick: [{
                type: HostListener,
                args: ['click', ['$event']]
            }], __hostClass: [{
                type: HostBinding,
                args: ['class']
            }] } });

class AXCheckBoxModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCheckBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXCheckBoxModule, imports: [AXCheckBoxComponent], exports: [AXCheckBoxComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCheckBoxModule, imports: [AXCheckBoxComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXCheckBoxModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [AXCheckBoxComponent],
                    exports: [AXCheckBoxComponent],
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { AXCheckBoxComponent, AXCheckBoxModule };
//# sourceMappingURL=acorex-components-check-box.mjs.map
