import { __decorate } from "tslib";
import { Component, ChangeDetectionStrategy } from '@angular/core';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { ReactiveFormsModule } from '@angular/forms';
import { LayoutEditorMetadata } from '@anglr/dynamic/layout-editor';
import { CastPipesModule, HostDisplayBlockStyle } from '@anglr/common';
import { FormPipesModule } from '@anglr/common/forms';
import { FormComponentBase, FormComponentControlSAPipe } from '@anglr/dynamic/form';
import { RelationsEditorMetadata } from '@anglr/dynamic/relations-editor';
import { MaterialCheckboxLayoutMetadataLoader, MaterialCheckboxRelationsMetadataLoader } from './checkbox.metadata';
import * as i0 from "@angular/core";
import * as i1 from "@anglr/common/forms";
import * as i2 from "@anglr/common";
import * as i3 from "@angular/material/checkbox";
import * as i4 from "@angular/forms";
/**
 * Component used for displaying material checkbox
 */
let MaterialCheckboxSAComponent = class MaterialCheckboxSAComponent extends FormComponentBase {
};
MaterialCheckboxSAComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialCheckboxSAComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
MaterialCheckboxSAComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: MaterialCheckboxSAComponent, isStandalone: true, selector: "material-checkbox", usesInheritance: true, ngImport: i0, template: "<mat-checkbox [formControl]=\"control|asFormControl|asRequired\">{{options?.label}}</mat-checkbox>", styles: [":host{display: block;}"], dependencies: [{ kind: "ngmodule", type: FormPipesModule }, { kind: "pipe", type: i1.AsFormControlPipe, name: "asFormControl" }, { kind: "ngmodule", type: CastPipesModule }, { kind: "pipe", type: i2.AsRequiredTypePipe, name: "asRequired" }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
MaterialCheckboxSAComponent = __decorate([
    RelationsEditorMetadata(MaterialCheckboxRelationsMetadataLoader),
    LayoutEditorMetadata(MaterialCheckboxLayoutMetadataLoader)
], MaterialCheckboxSAComponent);
export { MaterialCheckboxSAComponent };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MaterialCheckboxSAComponent, decorators: [{
            type: Component,
            args: [{ selector: 'material-checkbox', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
                        FormPipesModule,
                        CastPipesModule,
                        FormComponentControlSAPipe,
                        MatCheckboxModule,
                        ReactiveFormsModule,
                    ], template: "<mat-checkbox [formControl]=\"control|asFormControl|asRequired\">{{options?.label}}</mat-checkbox>", styles: [":host{display: block;}"] }]
        }] });
//# sourceMappingURL=checkbox.component.js.map