{"version":3,"file":"ui-material.mjs","sources":["../../../../projects/ng-dynamic-forms/ui-material/src/lib/dynamic-material-form-input-control.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/checkbox/dynamic-material-checkbox.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/checkbox/dynamic-material-checkbox.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/chips/dynamic-material-chips.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/chips/dynamic-material-chips.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/datepicker/dynamic-material-datepicker.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/datepicker/dynamic-material-datepicker.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/input/dynamic-material-input.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/input/dynamic-material-input.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/radio-group/dynamic-material-radio-group.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/radio-group/dynamic-material-radio-group.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/select/dynamic-material-select.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/select/dynamic-material-select.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/slide-toggle/dynamic-material-slide-toggle.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/slide-toggle/dynamic-material-slide-toggle.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/slider/dynamic-material-slider.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/slider/dynamic-material-slider.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/textarea/dynamic-material-textarea.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/textarea/dynamic-material-textarea.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/dynamic-material-form-control-container.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/dynamic-material-form-control-container.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/dynamic-material-form-array.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/dynamic-material-form-group.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/lib/dynamic-material-form.component.ts","../../../../projects/ng-dynamic-forms/ui-material/src/lib/dynamic-material-form.component.html","../../../../projects/ng-dynamic-forms/ui-material/src/ui-material.ts"],"sourcesContent":["import { MatInput } from \"@angular/material/input\";\nimport {\n    DynamicFormControlComponent,\n    DynamicFormLayoutService,\n    DynamicFormValidationService,\n    DynamicInputControlModel,\n    DynamicInputModel\n} from \"@ng-dynamic-forms/core\";\n\nexport abstract class DynamicMaterialFormInputControlComponent extends DynamicFormControlComponent {\n    matInput!: MatInput;\n\n    protected constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n        super(layoutService, validationService);\n    }\n\n    get characterCount(): number | null {\n        return this.matInput ? this.matInput.value.length : null;\n    }\n\n    get characterHint(): string {\n        return `${this.characterCount} / ${(this.model as DynamicInputControlModel<string>).maxLength}`;\n    }\n\n    get showCharacterHint(): boolean {\n        return !!((this.model as DynamicInputModel).maxLength && this.characterCount);\n    }\n}\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatCheckbox, MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MAT_RIPPLE_GLOBAL_OPTIONS, RippleGlobalOptions } from \"@angular/material/core\";\nimport {\n    DynamicCheckboxModel,\n    DynamicFormControlComponent,\n    DynamicFormControlCustomEvent,\n    DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-checkbox\",\n    templateUrl: \"./dynamic-material-checkbox.component.html\",\n    standalone: true,\n    imports: [ReactiveFormsModule, MatCheckboxModule, NgClass]\n})\nexport class DynamicMaterialCheckboxComponent extends DynamicFormControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicCheckboxModel;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(\"matCheckbox\", {static: true}) matCheckbox!: MatCheckbox;\n\n    constructor(protected layoutService: DynamicFormLayoutService,\n                protected validationService: DynamicFormValidationService,\n                @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) @Optional() public RIPPLE_OPTIONS: RippleGlobalOptions) {\n        super(layoutService, validationService);\n    }\n}\n","<ng-container [formGroup]=\"group\">\n\n    <mat-checkbox #matCheckbox\n                  [checked]=\"model.checked\"\n                  [color]=\"model.getAdditional('color', 'accent')\"\n                  [disableRipple]=\"model.getAdditional('disableRipple', RIPPLE_OPTIONS && RIPPLE_OPTIONS['disabled'] || false)\"\n                  [formControlName]=\"model.id\"\n                  [id]=\"id\"\n                  [indeterminate]=\"model.indeterminate\"\n                  [labelPosition]=\"model.labelPosition || 'after'\"\n                  [name]=\"model.name\"\n                  [ngClass]=\"[getClass('element', 'control'), getClass('grid', 'control')]\"\n                  (blur)=\"onBlur($event)\"\n                  (change)=\"onChange($event)\"\n                  (focus)=\"onFocus($event)\"\n                  (indeterminateChange)=\"onCustomEvent($event, 'indeterminateChange')\">\n\n        <span [ngClass]=\"getClass('element', 'label')\" [innerHTML]=\"model.label\"></span>\n\n    </mat-checkbox>\n\n</ng-container>\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n    MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,\n    MatAutocomplete,\n    MatAutocompleteDefaultOptions,\n    MatAutocompleteSelectedEvent,\n    MatAutocompleteModule\n} from \"@angular/material/autocomplete\";\nimport { MAT_CHIPS_DEFAULT_OPTIONS, MatChipInputEvent, MatChipGrid, MatChipsDefaultOptions, MatChipsModule } from \"@angular/material/chips\";\nimport { MAT_RIPPLE_GLOBAL_OPTIONS, RippleGlobalOptions, MatOptionModule } from \"@angular/material/core\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldDefaultOptions, MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInput, MatInputModule } from \"@angular/material/input\";\nimport {\n    DynamicFormControlComponent,\n    DynamicFormControlCustomEvent,\n    DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService,\n    DynamicInputModel\n} from \"@ng-dynamic-forms/core\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { NgClass, NgFor, AsyncPipe } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-chips\",\n    templateUrl: \"./dynamic-material-chips.component.html\",\n    standalone: true,\n    imports: [MatFormFieldModule, ReactiveFormsModule, NgClass, MatChipsModule, NgFor, MatIconModule, MatInputModule, MatAutocompleteModule,\n        MatOptionModule, AsyncPipe]\n})\nexport class DynamicMaterialChipsComponent extends DynamicFormControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicInputModel;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(\"matAutocomplete\", {static: true}) matAutocomplete!: MatAutocomplete;\n    @ViewChild(\"matChipGrid\", {static: true}) matChipGrid!: MatChipGrid;\n    @ViewChild(MatInput, {static: true}) matInput!: MatInput;\n\n    constructor(protected layoutService: DynamicFormLayoutService,\n                protected validationService: DynamicFormValidationService,\n                @Inject(MAT_AUTOCOMPLETE_DEFAULT_OPTIONS) public AUTOCOMPLETE_OPTIONS: MatAutocompleteDefaultOptions,\n                @Inject(MAT_CHIPS_DEFAULT_OPTIONS) public CHIPS_OPTIONS: MatChipsDefaultOptions,\n                @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS) @Optional() public FORM_FIELD_OPTIONS: MatFormFieldDefaultOptions,\n                @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) @Optional() public RIPPLE_OPTIONS: RippleGlobalOptions) {\n        super(layoutService, validationService);\n    }\n\n    get chips(): string[] {\n        return Array.isArray(this.model.value) ? this.model.value as string[] : [];\n    }\n\n    onChipInputTokenEnd($event: MatChipInputEvent): void {\n        const inputElement = $event.chipInput?.inputElement;\n        const inputValue = $event.value.trim();\n\n        if (inputValue.length > 0) {\n            this.control.patchValue([...this.chips, inputValue]);\n            this.onChange($event);\n        }\n\n        if (inputElement instanceof HTMLInputElement) {\n            inputElement.value = \"\";\n        }\n    }\n\n    onChipSelected($event: MatAutocompleteSelectedEvent): void {\n        const selectedChip = $event.option.value;\n        const chips = this.chips;\n\n        if (!chips.includes(selectedChip)) {\n            this.control.patchValue([...this.chips, selectedChip]);\n        }\n    }\n\n    onChipRemoved(chip: string, index: number): void {\n        const chips = this.chips;\n\n        if (chips[index] === chip) {\n            chips.splice(index, 1);\n            this.control.patchValue([...chips]);\n        }\n    }\n}\n","<mat-form-field [appearance]=\"model.getAdditional('appearance', 'fill')\"\n                [color]=\"model.getAdditional('color', 'primary')\"\n                [floatLabel]=\"model.getAdditional('floatLabel', FORM_FIELD_OPTIONS && FORM_FIELD_OPTIONS['floatLabel'] || 'auto')\"\n                [formGroup]=\"group\"\n                [hideRequiredMarker]=\"model.getAdditional('hideRequiredMarker', false)\"\n                [ngClass]=\"getClass('grid', 'control')\">\n\n    <mat-chip-grid #matChipGrid [formControlName]=\"model.id\" [id]=\"id\">\n\n        <mat-chip-row *ngFor=\"let chip of chips; let index = index\"\n                      (removed)=\"onChipRemoved(chip, index)\">\n\n            <span>{{ chip }}</span>\n\n            <mat-icon matChipRemove>cancel</mat-icon>\n\n        </mat-chip-row>\n\n        <input matInput\n               [matAutocomplete]=\"matAutocomplete\"\n               [matChipInputAddOnBlur]=\"model.getAdditional('matChipInputAddOnBlur', true)\"\n               [matChipInputFor]=\"matChipGrid\"\n               [matChipInputSeparatorKeyCodes]=\"model.getAdditional('matChipInputSeparatorKeyCodes', CHIPS_OPTIONS['separatorKeyCodes'])\"\n               [placeholder]=\"model.placeholder\"\n               (matChipInputTokenEnd)=\"onChipInputTokenEnd($event)\"\n               (blur)=\"onBlur($event)\"\n               (focus)=\"onFocus($event)\"/>\n\n        <mat-autocomplete #matAutocomplete\n                          [autoActiveFirstOption]=\"model.getAdditional('autoActiveFirstOption', AUTOCOMPLETE_OPTIONS['autoActiveFirstOption'])\"\n                          [disableRipple]=\"model.getAdditional('disableRipple', RIPPLE_OPTIONS && RIPPLE_OPTIONS['disabled'] || false)\"\n                          [displayWith]=\"model.getAdditional('displayWith', null)\"\n                          (optionSelected)=\"onChipSelected($event)\">\n\n            <mat-option *ngFor=\"let option of model.list$ | async\" [value]=\"option\">{{ option }}</mat-option>\n\n        </mat-autocomplete>\n\n    </mat-chip-grid>\n\n</mat-form-field>\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatDatepicker, MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatInput, MatInputModule } from \"@angular/material/input\";\nimport {\n    DynamicDatePickerModel,\n    DynamicFormControlComponent,\n    DynamicFormControlCustomEvent, DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService\n} from \"@ng-dynamic-forms/core\";\nimport { MatFormFieldDefaultOptions } from \"@angular/material/form-field\";\nimport { NgClass, NgIf, NgFor } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-datepicker\",\n    templateUrl: \"./dynamic-material-datepicker.component.html\",\n    standalone: true,\n    imports: [MatFormFieldModule, ReactiveFormsModule, NgClass, NgIf, MatInputModule, MatDatepickerModule, NgFor]\n})\nexport class DynamicMaterialDatePickerComponent extends DynamicFormControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicDatePickerModel;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(\"matDatepicker\", {static: true}) matDatePicker!: MatDatepicker<any>;\n    @ViewChild(MatInput, {static: true}) matInput!: MatInput;\n\n    constructor(protected layoutService: DynamicFormLayoutService,\n                protected validationService: DynamicFormValidationService,\n                @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS) @Optional() public FORM_FIELD_OPTIONS: MatFormFieldDefaultOptions) {\n        super(layoutService, validationService);\n    }\n}\n","<mat-form-field [appearance]=\"model.getAdditional('appearance', 'fill')\"\n                [color]=\"model.getAdditional('color', 'primary')\"\n                [floatLabel]=\"model.getAdditional('floatLabel', FORM_FIELD_OPTIONS && FORM_FIELD_OPTIONS['floatLabel'] || 'auto')\"\n                [formGroup]=\"group\"\n                [hideRequiredMarker]=\"model.getAdditional('hideRequiredMarker', false)\"\n                [ngClass]=\"getClass('grid', 'control')\">\n\n    <ng-container *ngIf=\"model.label\" ngProjectAs=\"mat-label\">\n\n        <mat-label [innerHTML]=\"model.label\"></mat-label>\n\n    </ng-container>\n\n    <span *ngIf=\"model.prefix\" matPrefix [innerHTML]=\"model.prefix\"></span>\n\n    <input matInput\n           [autofocus]=\"model.autoFocus\"\n           [formControlName]=\"model.id\"\n           [id]=\"id\"\n           [max]=\"model.max\"\n           [matDatepicker]=\"matDatepicker\"\n           [min]=\"model.min\"\n           [name]=\"model.name\"\n           [ngClass]=\"getClass('element', 'control')\"\n           [placeholder]=\"model.placeholder || ''\"\n           [readonly]=\"model.readOnly\"\n           [required]=\"model.required\"\n           (blur)=\"onBlur($event)\"\n           (dateChange)=\"onChange($event)\"\n           (dateInput)=\"onCustomEvent($event, 'dateInput')\"\n           (focus)=\"onFocus($event)\"/>\n\n    <span *ngIf=\"model.suffix\" matSuffix [innerHTML]=\"model.suffix\"></span>\n\n    <mat-hint *ngIf=\"model.hint !== null\" align=\"start\" [innerHTML]=\"model.hint\"></mat-hint>\n\n\n    <mat-datepicker-toggle matSuffix [for]=\"matDatepicker\"></mat-datepicker-toggle>\n\n    <mat-datepicker #matDatepicker\n                    [opened]=\"model.getAdditional('opened', false)\"\n                    [startAt]=\"model.focusedDate\"\n                    [startView]=\"model.getAdditional('startView', 'month')\"\n                    [touchUi]=\"model.getAdditional('touchUi', false)\"\n                    (closed)=\"onCustomEvent($event, 'closed')\"\n                    (monthSelected)=\"onCustomEvent($event, 'monthSelected')\"\n                    (opened)=\"onCustomEvent($event, 'opened')\"\n                    (yearSelected)=\"onCustomEvent($event, 'yearSelected')\"></mat-datepicker>\n\n    <mat-error *ngFor=\"let message of errorMessages\">{{ message }}</mat-error>\n\n</mat-form-field>\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n    MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,\n    MatAutocomplete,\n    MatAutocompleteDefaultOptions,\n    MatAutocompleteModule\n} from \"@angular/material/autocomplete\";\nimport { ErrorStateMatcher, MAT_RIPPLE_GLOBAL_OPTIONS, RippleGlobalOptions, MatOptionModule } from \"@angular/material/core\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldDefaultOptions, MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInput, MatInputModule } from \"@angular/material/input\";\nimport {\n    DynamicFormControlCustomEvent, DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService,\n    DynamicInputModel\n} from \"@ng-dynamic-forms/core\";\nimport { DynamicMaterialFormInputControlComponent } from \"../dynamic-material-form-input-control.component\";\nimport { NgClass, NgIf, NgFor, AsyncPipe } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-input\",\n    templateUrl: \"./dynamic-material-input.component.html\",\n    standalone: true,\n    imports: [MatFormFieldModule, ReactiveFormsModule, NgClass, NgIf, MatInputModule, MatAutocompleteModule, NgFor, MatOptionModule,\n        AsyncPipe]\n})\nexport class DynamicMaterialInputComponent extends DynamicMaterialFormInputControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicInputModel;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(\"matAutocomplete\", {static: true}) matAutocomplete!: MatAutocomplete;\n    @ViewChild(MatInput, {static: true}) matInput!: MatInput;\n\n    constructor(protected layoutService: DynamicFormLayoutService,\n                protected validationService: DynamicFormValidationService,\n                @Inject(ErrorStateMatcher) public errorStateMatcher: ErrorStateMatcher,\n                @Inject(MAT_AUTOCOMPLETE_DEFAULT_OPTIONS) public AUTOCOMPLETE_OPTIONS: MatAutocompleteDefaultOptions,\n                @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS) @Optional() public FORM_FIELD_OPTIONS: MatFormFieldDefaultOptions,\n                @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) @Optional() public RIPPLE_OPTIONS: RippleGlobalOptions) {\n        super(layoutService, validationService);\n    }\n}\n","<mat-form-field [appearance]=\"model.getAdditional('appearance', 'fill')\"\n                [color]=\"model.getAdditional('color', 'primary')\"\n                [floatLabel]=\"model.getAdditional('floatLabel', FORM_FIELD_OPTIONS && FORM_FIELD_OPTIONS['floatLabel'] || 'auto')\"\n                [formGroup]=\"group\"\n                [hideRequiredMarker]=\"model.getAdditional('hideRequiredMarker', false)\"\n                [ngClass]=\"getClass('grid','control')\">\n\n    <ng-container *ngIf=\"model.label\" ngProjectAs=\"mat-label\">\n\n        <mat-label [innerHTML]=\"model.label\"></mat-label>\n\n    </ng-container>\n\n    <span *ngIf=\"model.prefix\" matPrefix [innerHTML]=\"model.prefix\"></span>\n\n    <input matInput\n           [attr.accept]=\"model.accept\"\n           [attr.max]=\"model.max\"\n           [attr.min]=\"model.min\"\n           [attr.multiple]=\"model.multiple\"\n           [attr.step]=\"model.step\"\n           [autocomplete]=\"model.autoComplete\"\n           [autofocus]=\"model.autoFocus\"\n           [errorStateMatcher]=\"model.getAdditional('errorStateMatcher', errorStateMatcher)\"\n           [formControlName]=\"model.id\"\n           [id]=\"id\"\n           [maxlength]=\"model.maxLength\"\n           [matAutocomplete]=\"matAutocomplete\"\n           [minlength]=\"model.minLength\"\n           [name]=\"model.name\"\n           [ngClass]=\"getClass('element', 'control')\"\n           [pattern]=\"model.pattern\"\n           [placeholder]=\"model.placeholder\"\n           [readonly]=\"model.readOnly\"\n           [required]=\"model.required\"\n           [spellcheck]=\"model.spellCheck\"\n           [tabindex]=\"model.tabIndex\"\n           [type]=\"model.inputType\"\n           (blur)=\"onBlur($event)\"\n           (change)=\"onChange($event)\"\n           (focus)=\"onFocus($event)\"/>\n\n    <span *ngIf=\"model.suffix\" matSuffix [innerHTML]=\"model.suffix\"></span>\n\n    <mat-hint *ngIf=\"model.hint !== null\" align=\"start\" [innerHTML]=\"model.hint\"></mat-hint>\n\n    <mat-hint *ngIf=\"showCharacterHint\" align=\"end\">{{ characterHint }}</mat-hint>\n\n    <mat-error *ngFor=\"let message of errorMessages\">{{ message }}</mat-error>\n\n</mat-form-field>\n\n<mat-autocomplete #matAutocomplete=\"matAutocomplete\"\n                  [autoActiveFirstOption]=\"model.getAdditional('autoActiveFirstOption', AUTOCOMPLETE_OPTIONS['autoActiveFirstOption'])\"\n                  [disableRipple]=\"model.getAdditional('disableRipple', RIPPLE_OPTIONS && RIPPLE_OPTIONS['disabled'] || false)\"\n                  [displayWith]=\"model.getAdditional('displayWith', null)\"\n                  (optionSelected)=\"onChange($event)\">\n\n    <ng-container *ngIf=\"model.getAdditional('matAutocomplete', null) === null; else displayWith\">\n        <mat-option *ngFor=\"let option of model.list$ | async\" [value]=\"option\">{{ option }}</mat-option>\n    </ng-container>\n    <ng-template #displayWith>\n        <mat-option *ngFor=\"let option of model.list$ | async\" [value]=\"option\">\n            {{ option[model.getAdditional('optionLabel', 'label')] }}\n        </mat-option>\n    </ng-template>\n\n</mat-autocomplete>\n","import { Component, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatRadioGroup, MatRadioModule } from \"@angular/material/radio\";\nimport {\n    DynamicFormControlComponent,\n    DynamicFormControlCustomEvent,\n    DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService,\n    DynamicRadioGroupModel\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass, NgFor, AsyncPipe } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-radio-group\",\n    templateUrl: \"./dynamic-material-radio-group.component.html\",\n    standalone: true,\n    imports: [ReactiveFormsModule, MatRadioModule, NgClass, NgFor, AsyncPipe]\n})\nexport class DynamicMaterialRadioGroupComponent extends DynamicFormControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicRadioGroupModel<string>;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(\"matRadioGroup\", {static: true}) matRadioGroup!: MatRadioGroup;\n\n    constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n        super(layoutService, validationService);\n    }\n}\n","<ng-container [formGroup]=\"group\">\n\n    <mat-radio-group #matRadioGroup\n                     [formControlName]=\"model.id\"\n                     [id]=\"id\"\n                     [labelPosition]=\"model.getAdditional('labelPosition', 'after')\"\n                     [name]=\"model.name\"\n                     [ngClass]=\"[getClass('element', 'control'), getClass('grid', 'control')]\"\n                     [required]=\"model.required\"\n                     (blur)=\"onBlur($event)\"\n                     (change)=\"onChange($event)\"\n                     (focus)=\"onFocus($event)\">\n\n        <mat-radio-button *ngFor=\"let option of model.options$ | async\"\n                          [name]=\"model.name\"\n                          [ngClass]=\"getClass('element', 'option')\"\n                          [value]=\"option.value\"><span [innerHTML]=\"option.label\"></span></mat-radio-button>\n\n    </mat-radio-group>\n\n</ng-container>\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { ErrorStateMatcher, MAT_RIPPLE_GLOBAL_OPTIONS, RippleGlobalOptions, MatOptionModule } from \"@angular/material/core\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldDefaultOptions, MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatSelect, MatSelectModule } from \"@angular/material/select\";\nimport {\n    DynamicFormControlComponent,\n    DynamicFormControlCustomEvent,\n    DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService,\n    DynamicSelectModel\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass, NgIf, NgFor, AsyncPipe } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-select\",\n    templateUrl: \"./dynamic-material-select.component.html\",\n    standalone: true,\n    imports: [MatFormFieldModule, NgClass, ReactiveFormsModule, NgIf, MatSelectModule, NgFor, MatOptionModule, AsyncPipe]\n})\nexport class DynamicMaterialSelectComponent extends DynamicFormControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicSelectModel<string>;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(\"matSelect\", {static: true}) matSelect!: MatSelect;\n\n    constructor(protected layoutService: DynamicFormLayoutService,\n                protected validationService: DynamicFormValidationService,\n                @Inject(ErrorStateMatcher) public errorStateMatcher: ErrorStateMatcher,\n                @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS) @Optional() public FORM_FIELD_OPTIONS: MatFormFieldDefaultOptions,\n                @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) @Optional() public RIPPLE_OPTIONS: RippleGlobalOptions) {\n        super(layoutService, validationService);\n    }\n}\n","<mat-form-field [appearance]=\"model.getAdditional('appearance', 'fill')\"\n                [color]=\"model.getAdditional('color', 'primary')\"\n                [ngClass]=\"getClass('grid', 'control')\"\n                [floatLabel]=\"model.getAdditional('floatLabel', FORM_FIELD_OPTIONS && FORM_FIELD_OPTIONS['floatLabel'] || 'auto')\"\n                [formGroup]=\"group\">\n\n    <ng-container *ngIf=\"model.label\" ngProjectAs=\"mat-label\">\n\n        <mat-label [innerHTML]=\"model.label\"></mat-label>\n\n    </ng-container>\n\n    <span *ngIf=\"model.prefix\" matPrefix [innerHTML]=\"model.prefix\"></span>\n\n    <mat-select #matSelect\n                [compareWith]=\"model.compareWithFn\"\n                [disableOptionCentering]=\"model.getAdditional('disableOptionCentering', false)\"\n                [disableRipple]=\"model.getAdditional('disableRipple', RIPPLE_OPTIONS && RIPPLE_OPTIONS['disabled'] || false)\"\n                [errorStateMatcher]=\"model.getAdditional('errorStateMatcher', errorStateMatcher)\"\n                [formControlName]=\"model.id\"\n                [id]=\"id\"\n                [multiple]=\"model.multiple\"\n                [ngClass]=\"getClass('element', 'control')\"\n                [placeholder]=\"model.placeholder\"\n                [required]=\"model.required\"\n                (openedChange)=\"onCustomEvent($event, 'openedChange')\"\n                (selectionChange)=\"onChange($event)\">\n\n        <mat-option *ngFor=\"let option of model.options$ | async\"\n                    [disabled]=\"option.disabled\"\n                    [ngClass]=\"getClass('element', 'option')\"\n                    [value]=\"option.value\"><span [innerHTML]=\"option.label\"></span></mat-option>\n    </mat-select>\n\n    <span *ngIf=\"model.suffix\" matSuffix [innerHTML]=\"model.suffix\"></span>\n\n    <mat-hint *ngIf=\"model.hint !== null\" align=\"start\" [innerHTML]=\"model.hint\"></mat-hint>\n\n    <mat-error *ngFor=\"let message of errorMessages\">{{ message }}</mat-error>\n\n</mat-form-field>\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { MAT_RIPPLE_GLOBAL_OPTIONS, RippleGlobalOptions } from \"@angular/material/core\";\nimport { MatSlideToggle, MatSlideToggleModule } from \"@angular/material/slide-toggle\";\nimport {\n    DynamicFormControlComponent,\n    DynamicFormControlCustomEvent,\n    DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService,\n    DynamicSwitchModel\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass, NgIf } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-slide-toggle\",\n    templateUrl: \"./dynamic-material-slide-toggle.component.html\",\n    standalone: true,\n    imports: [ReactiveFormsModule, MatSlideToggleModule, NgClass, NgIf]\n})\nexport class DynamicMaterialSlideToggleComponent extends DynamicFormControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicSwitchModel;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(\"matSlideToggle\", {static: true}) matSlideToggle!: MatSlideToggle;\n\n    constructor(protected layoutService: DynamicFormLayoutService,\n                protected validationService: DynamicFormValidationService,\n                @Inject(MAT_RIPPLE_GLOBAL_OPTIONS) @Optional() public RIPPLE_OPTIONS: RippleGlobalOptions) {\n        super(layoutService, validationService);\n    }\n}\n","<ng-container [formGroup]=\"group\">\n\n    <mat-slide-toggle #matSlideToggle\n                      [checked]=\"model.checked\"\n                      [color]=\"model.getAdditional('color', 'accent')\"\n                      [disableRipple]=\"model.getAdditional('disableRipple', RIPPLE_OPTIONS && RIPPLE_OPTIONS['disabled'] || false)\"\n                      [formControlName]=\"model.id\"\n                      [id]=\"id\"\n                      [labelPosition]=\"model.labelPosition || 'after'\"\n                      [name]=\"model.name\"\n                      [ngClass]=\"[getClass('element','control'), getClass('grid','control')]\"\n                      (change)=\"onChange($event)\"\n                      (toggleChange)=\"onCustomEvent($event, 'toggleChange')\">\n\n        <span *ngIf=\"!model.checked\" [innerHTML]=\"model.offLabel\"></span>\n\n        <span *ngIf=\"model.checked\" [innerHTML]=\"model.onLabel\"></span>\n\n    </mat-slide-toggle>\n\n</ng-container>\n","import { Component, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatSlider, MatSliderModule } from \"@angular/material/slider\";\nimport {\n    DynamicFormControlComponent,\n    DynamicFormControlCustomEvent,\n    DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService,\n    DynamicSliderModel\n} from \"@ng-dynamic-forms/core\";\nimport { NgClass } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-slider\",\n    templateUrl: \"./dynamic-material-slider.component.html\",\n    standalone: true,\n    imports: [ReactiveFormsModule, MatSliderModule, NgClass]\n})\nexport class DynamicMaterialSliderComponent extends DynamicFormControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicSliderModel;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(\"matSlider\", {static: true}) matSlider!: MatSlider;\n\n    constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n        super(layoutService, validationService);\n    }\n}\n","<ng-container [formGroup]=\"group\">\n\n    <mat-slider #matSlider\n                [color]=\"model.getAdditional('color', 'accent')\"\n                [id]=\"id\"\n                [min]=\"model.min\"\n                [max]=\"model.max\"\n                [ngClass]=\"[getClass('element', 'control'), getClass('grid', 'control')]\"\n                [step]=\"model.step\"\n                [tabIndex]=\"model.tabIndex\">\n        <input matSliderThumb #matSliderThumb\n               [formControlName]=\"model.id\"\n               (valueChange)=\"onChange({source: matSliderThumb, parent: matSlider, value: matSliderThumb.value})\"\n               (dragEnd)=\"onCustomEvent({source: matSliderThumb, parent: matSlider, value: matSliderThumb.value}, 'dragEnd')\"\n               (dragStart)=\"onCustomEvent({source: matSliderThumb, parent: matSlider, value: matSliderThumb.value}, 'dragStart')\"\n        />\n    </mat-slider>\n\n</ng-container>\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatInput, MatInputModule } from \"@angular/material/input\";\nimport {\n    DynamicFormControlCustomEvent,\n    DynamicFormControlLayout,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormValidationService,\n    DynamicTextAreaModel\n} from \"@ng-dynamic-forms/core\";\nimport { DynamicMaterialFormInputControlComponent } from \"../dynamic-material-form-input-control.component\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldDefaultOptions, MatFormFieldModule } from \"@angular/material/form-field\";\nimport { TextFieldModule } from \"@angular/cdk/text-field\";\nimport { NgClass, NgIf, NgFor } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-textarea\",\n    templateUrl: \"./dynamic-material-textarea.component.html\",\n    standalone: true,\n    imports: [MatFormFieldModule, ReactiveFormsModule, NgClass, NgIf, MatInputModule, TextFieldModule, NgFor]\n})\nexport class DynamicMaterialTextAreaComponent extends DynamicMaterialFormInputControlComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicTextAreaModel;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild(MatInput, {static: true}) matInput!: MatInput;\n\n    constructor(protected layoutService: DynamicFormLayoutService,\n                protected validationService: DynamicFormValidationService,\n                @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS) @Optional() public FORM_FIELD_OPTIONS: MatFormFieldDefaultOptions) {\n        super(layoutService, validationService);\n    }\n}\n","<mat-form-field [appearance]=\"model.getAdditional('appearance', 'fill')\"\n                [color]=\"model.getAdditional('color', 'primary')\"\n                [floatLabel]=\"model.getAdditional('floatLabel', FORM_FIELD_OPTIONS && FORM_FIELD_OPTIONS['floatLabel'] || 'auto')\"\n                [formGroup]=\"group\"\n                [hideRequiredMarker]=\"model.getAdditional('hideRequiredMarker', false)\"\n                [ngClass]=\"getClass('grid', 'control')\">\n\n    <ng-container *ngIf=\"model.label\" ngProjectAs=\"mat-label\">\n\n        <mat-label [innerHTML]=\"model.label\"></mat-label>\n\n    </ng-container>\n\n    <textarea matInput\n              [cdkTextareaAutosize]=\"model.getAdditional('cdkTextareaAutosize', true)\"\n              [cols]=\"model.cols\"\n              [formControlName]=\"model.id\"\n              [id]=\"id\"\n              [maxlength]=\"model.maxLength\"\n              [minlength]=\"model.minLength\"\n              [name]=\"model.name\"\n              [ngClass]=\"getClass('element', 'control')\"\n              [placeholder]=\"model.placeholder\"\n              [readonly]=\"model.readOnly\"\n              [required]=\"model.required\"\n              [rows]=\"model.rows\"\n              [spellcheck]=\"model.spellCheck\"\n              [tabindex]=\"model.tabIndex\"\n              [wrap]=\"model.wrap\"\n              (blur)=\"onBlur($event)\"\n              (change)=\"onChange($event)\"\n              (focus)=\"onFocus($event)\"></textarea>\n\n    <mat-hint *ngIf=\"model.hint !== null\" align=\"start\" [innerHTML]=\"model.hint\"></mat-hint>\n\n    <mat-hint *ngIf=\"showCharacterHint\" align=\"end\">{{ characterHint }}</mat-hint>\n\n    <mat-error *ngFor=\"let message of errorMessages\">{{ message }}</mat-error>\n\n</mat-form-field>\n","import {\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ComponentFactoryResolver,\n    ContentChildren,\n    EventEmitter,\n    HostBinding,\n    Input,\n    Output,\n    QueryList,\n    Type,\n    ViewChild,\n    ViewChildren,\n    ViewContainerRef\n} from \"@angular/core\";\nimport { UntypedFormGroup, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n    DYNAMIC_FORM_CONTROL_TYPE_ARRAY,\n    DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX,\n    DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP,\n    DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER,\n    DYNAMIC_FORM_CONTROL_TYPE_GROUP,\n    DYNAMIC_FORM_CONTROL_TYPE_INPUT,\n    DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP,\n    DYNAMIC_FORM_CONTROL_TYPE_SELECT,\n    DYNAMIC_FORM_CONTROL_TYPE_SLIDER,\n    DYNAMIC_FORM_CONTROL_TYPE_SWITCH,\n    DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA,\n    DynamicFormArrayComponent,\n    DynamicFormArrayModel,\n    DynamicFormArrayGroupModel,\n    DynamicFormControl,\n    DynamicFormControlContainerComponent,\n    DynamicFormControlCustomEvent,\n    DynamicFormControlEvent,\n    DynamicFormControlLayout,\n    DynamicFormControlModel,\n    DynamicFormComponentService,\n    DynamicFormGroupComponent,\n    DynamicFormGroupModel,\n    DynamicFormLayout,\n    DynamicFormLayoutService,\n    DynamicFormRelationService,\n    DynamicFormValidationService,\n    DynamicFormValueControlModel,\n    DynamicInputModel,\n    DynamicTemplateDirective\n} from \"@ng-dynamic-forms/core\";\nimport { DynamicMaterialDatePickerComponent } from \"./datepicker/dynamic-material-datepicker.component\";\nimport { DynamicMaterialInputComponent } from \"./input/dynamic-material-input.component\";\nimport { DynamicMaterialTextAreaComponent } from \"./textarea/dynamic-material-textarea.component\";\nimport { DynamicMaterialSlideToggleComponent } from \"./slide-toggle/dynamic-material-slide-toggle.component\";\nimport { DynamicMaterialCheckboxComponent } from \"./checkbox/dynamic-material-checkbox.component\";\nimport { DynamicMaterialSliderComponent } from \"./slider/dynamic-material-slider.component\";\nimport { DynamicMaterialRadioGroupComponent } from \"./radio-group/dynamic-material-radio-group.component\";\nimport { DynamicMaterialChipsComponent } from \"./chips/dynamic-material-chips.component\";\nimport { DynamicMaterialSelectComponent } from \"./select/dynamic-material-select.component\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { NgClass, NgFor, NgTemplateOutlet, NgIf } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-form-control\",\n    templateUrl: \"./dynamic-material-form-control-container.component.html\",\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true,\n    imports: [ReactiveFormsModule, NgClass, NgIf, NgTemplateOutlet, NgFor, MatFormFieldModule]\n})\nexport class DynamicMaterialFormControlContainerComponent extends DynamicFormControlContainerComponent {\n    @ContentChildren(DynamicTemplateDirective) contentTemplateList!: QueryList<DynamicTemplateDirective>;\n\n    @HostBinding(\"class\") klass?: string;\n\n    @Input() context: DynamicFormArrayGroupModel | null = null;\n    @Input() group!: UntypedFormGroup;\n    @Input() hostClass?: string[];\n    // tslint:disable-next-line:no-input-rename\n    @Input(\"templates\") inputTemplateList?: QueryList<DynamicTemplateDirective>;\n    @Input() layout?: DynamicFormLayout;\n    @Input() model!: DynamicFormControlModel;\n\n    @Output() blur: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n    @Output() change: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n    @Output() focus: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n    // tslint:disable-next-line:no-output-rename\n    @Output(\"matEvent\") customEvent: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n\n    @ViewChild(\"componentViewContainer\", {read: ViewContainerRef, static: true}) componentViewContainerRef!: ViewContainerRef;\n\n    constructor(protected changeDetectorRef: ChangeDetectorRef,\n                protected componentFactoryResolver: ComponentFactoryResolver,\n                protected layoutService: DynamicFormLayoutService,\n                protected validationService: DynamicFormValidationService,\n                protected componentService: DynamicFormComponentService,\n                protected relationService: DynamicFormRelationService) {\n        super(changeDetectorRef, componentFactoryResolver, layoutService, validationService, componentService, relationService);\n    }\n\n    get componentType(): Type<DynamicFormControl> | null {\n        return this.componentService.getCustomComponentType(this.model) || materialUIFormControlMapFn(this.model);\n    }\n\n    get hasMatFormField(): boolean {\n        const matFormFieldTypes = [DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER, DYNAMIC_FORM_CONTROL_TYPE_INPUT,\n            DYNAMIC_FORM_CONTROL_TYPE_SELECT, DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA];\n\n        return matFormFieldTypes.some(type => this.model.type === type) || (\n            this.model instanceof DynamicFormValueControlModel &&\n            this.model.getAdditional(\"isFormFieldControl\")\n        );\n    }\n}\n\nexport function materialUIFormControlMapFn(model: DynamicFormControlModel): Type<DynamicFormControl> | null {\n    switch (model.type) {\n        case DYNAMIC_FORM_CONTROL_TYPE_ARRAY:\n            return DynamicMaterialFormArrayComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX:\n            return DynamicMaterialCheckboxComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP:\n            return DynamicMaterialFormGroupComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER:\n            return DynamicMaterialDatePickerComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_GROUP:\n            return DynamicMaterialFormGroupComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_INPUT:\n            const inputModel = model as DynamicInputModel;\n            return inputModel.multiple ? DynamicMaterialChipsComponent : DynamicMaterialInputComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP:\n            return DynamicMaterialRadioGroupComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_SELECT:\n            return DynamicMaterialSelectComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_SLIDER:\n            return DynamicMaterialSliderComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_SWITCH:\n            return DynamicMaterialSlideToggleComponent;\n\n        case DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA:\n            return DynamicMaterialTextAreaComponent;\n\n        default:\n            return null;\n    }\n}\n\n@Component({\n    selector: \"dynamic-material-form-array\",\n    templateUrl: \"./dynamic-material-form-array.component.html\",\n    standalone: true,\n    imports: [ReactiveFormsModule, NgClass, NgFor, NgTemplateOutlet, DynamicMaterialFormControlContainerComponent]\n})\nexport class DynamicMaterialFormArrayComponent extends DynamicFormArrayComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicFormArrayModel;\n    @Input() templates?: QueryList<DynamicTemplateDirective>;\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChildren(DynamicMaterialFormControlContainerComponent) components!: QueryList<DynamicMaterialFormControlContainerComponent>;\n\n    constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n        super(layoutService, validationService);\n    }\n}\n\n@Component({\n    selector: \"dynamic-material-form-group\",\n    templateUrl: \"./dynamic-material-form-group.component.html\",\n    standalone: true,\n    imports: [ReactiveFormsModule, NgClass, NgFor, DynamicMaterialFormControlContainerComponent]\n})\nexport class DynamicMaterialFormGroupComponent extends DynamicFormGroupComponent {\n    @Input() formLayout?: DynamicFormLayout;\n    @Input() group!: UntypedFormGroup;\n    @Input() layout?: DynamicFormControlLayout;\n    @Input() model!: DynamicFormGroupModel;\n    @Input() templates?: QueryList<DynamicTemplateDirective> | DynamicTemplateDirective[];\n\n    @Output() blur: EventEmitter<any> = new EventEmitter();\n    @Output() change: EventEmitter<any> = new EventEmitter();\n    @Output() customEvent: EventEmitter<DynamicFormControlCustomEvent> = new EventEmitter();\n    @Output() focus: EventEmitter<any> = new EventEmitter();\n\n    @ViewChildren(DynamicMaterialFormControlContainerComponent) components!: QueryList<DynamicMaterialFormControlContainerComponent>;\n\n    constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) {\n        super(layoutService, validationService);\n    }\n}\n","<div [formGroup]=\"group\"\n     [ngClass]=\"['ng-dynamic-forms-'+model.type.toLowerCase(), getClass('element', 'container'), getClass('grid', 'container')]\">\n\n    <label *ngIf=\"!hasMatFormField && !isCheckbox && hasLabel\"\n           [for]=\"id\"\n           [innerHTML]=\"model.label\"\n           [ngClass]=\"[getClass('element', 'label'), getClass('grid', 'label')]\"></label>\n\n    <ng-container *ngTemplateOutlet=\"startTemplate?.templateRef; context: model\"></ng-container>\n\n    <ng-container #componentViewContainer></ng-container>\n\n    <ng-container *ngIf=\"!hasMatFormField\">\n\n        <mat-error *ngFor=\"let message of errorMessages\">{{ message }}</mat-error>\n\n    </ng-container>\n\n    <ng-container *ngTemplateOutlet=\"endTemplate?.templateRef; context: model\"></ng-container>\n\n    <ng-content></ng-content>\n\n</div>\n","<ng-container [formGroup]=\"group\">\n\n    <div [formArrayName]=\"model.id\" [id]=\"id\" [ngClass]=\"getClass('element', 'control')\">\n\n        <div *ngFor=\"let groupModel of model.groups; let idx = index\" role=\"group\"\n             [formGroupName]=\"idx\" [ngClass]=\"[getClass('element', 'group'), getClass('grid', 'group')]\">\n\n            <ng-container *ngTemplateOutlet=\"startTemplate?.templateRef; context: groupModel\"></ng-container>\n\n            <dynamic-material-form-control *ngFor=\"let _model of groupModel.group\"\n                                           [context]=\"groupModel\"\n                                           [group]=\"array.at(idx)\"\n                                           [hidden]=\"_model.hidden\"\n                                           [layout]=\"formLayout\"\n                                           [model]=\"_model\"\n                                           [templates]=\"templates\"\n                                           [hostClass]=\"[getClass('element','children'), getClass('grid','children')]\"\n                                           (blur)=\"onBlur($event)\"\n                                           (change)=\"onChange($event)\"\n                                           (focus)=\"onFocus($event)\"\n                                           (matEvent)=\"onCustomEvent($event, null, true)\"></dynamic-material-form-control>\n\n            <ng-container *ngTemplateOutlet=\"endTemplate?.templateRef; context: groupModel\"></ng-container>\n\n        </div>\n\n    </div>\n\n</ng-container>\n","<ng-container [formGroup]=\"group\">\n\n    <div role=\"group\"\n         [formGroupName]=\"model.id\"\n         [id]=\"id\"\n         [ngClass]=\"[getClass('element', 'control'), getClass('grid', 'control')]\">\n\n        <dynamic-material-form-control *ngFor=\"let _model of model.group\"\n                                       [group]=\"control\"\n                                       [hidden]=\"_model.hidden\"\n                                       [layout]=\"formLayout\"\n                                       [model]=\"_model\"\n                                       [templates]=\"templates\"\n                                       [hostClass]=\"[getClass('element','children'), getClass('grid','children')]\"\n                                       (blur)=\"onBlur($event)\"\n                                       (change)=\"onChange($event)\"\n                                       (focus)=\"onFocus($event)\"\n                                       (matEvent)=\"onCustomEvent($event, null, true)\"></dynamic-material-form-control>\n    </div>\n\n</ng-container>\n","import {\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ContentChildren,\n    EventEmitter,\n    Input,\n    Output,\n    QueryList,\n    ViewChildren\n} from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport {\n    DynamicFormComponent,\n    DynamicFormComponentService,\n    DynamicFormControlEvent,\n    DynamicFormLayout,\n    DynamicFormModel,\n    DynamicTemplateDirective\n} from \"@ng-dynamic-forms/core\";\nimport { DynamicMaterialFormControlContainerComponent } from \"./dynamic-material-form-control-container.component\";\nimport { NgFor } from \"@angular/common\";\n\n@Component({\n    selector: \"dynamic-material-form\",\n    templateUrl: \"./dynamic-material-form.component.html\",\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true,\n    imports: [NgFor, DynamicMaterialFormControlContainerComponent]\n})\nexport class DynamicMaterialFormComponent extends DynamicFormComponent {\n    @Input() group!: UntypedFormGroup;\n    @Input() model!: DynamicFormModel;\n    @Input() layout?: DynamicFormLayout;\n\n    @Output() blur: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n    @Output() change: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n    @Output() focus: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n    @Output() matEvent: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();\n\n    @ContentChildren(DynamicTemplateDirective) templates!: QueryList<DynamicTemplateDirective>;\n\n    @ViewChildren(DynamicMaterialFormControlContainerComponent) components!: QueryList<DynamicMaterialFormControlContainerComponent>;\n\n    constructor(protected changeDetectorRef: ChangeDetectorRef, protected componentService: DynamicFormComponentService) {\n        super(changeDetectorRef, componentService);\n    }\n}\n","<dynamic-material-form-control *ngFor=\"let controlModel of model; trackBy: trackByFn\"\n                               [group]=\"group\"\n                               [hidden]=\"controlModel.hidden\"\n                               [layout]=\"layout\"\n                               [model]=\"controlModel\"\n                               [templates]=\"templates\"\n                               (blur)=\"onBlur($event)\"\n                               (change)=\"onChange($event)\"\n                               (focus)=\"onFocus($event)\"\n                               (matEvent)=\"onCustomEvent($event, matEvent)\"></dynamic-material-form-control>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i8","i4","i3","i5"],"mappings":"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"}