@3kles/kles-material-dynamicforms 21.4.2 → 21.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, InjectionToken, inject, Component, Injector, Input, Directive, Injectable, EventEmitter, Output, NgModule, computed, ViewContainerRef, HostBinding, Pipe, ChangeDetectorRef, ViewChildren, ViewChild, forwardRef, ChangeDetectionStrategy, ElementRef, Renderer2, HostListener, LOCALE_ID, DEFAULT_CURRENCY_CODE, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
4
+ import { CommonModule, AsyncPipe } from '@angular/common';
5
5
  import * as i2 from '@angular/forms';
6
6
  import { Validators, FormControl, ReactiveFormsModule, FormsModule, FormControlDirective, FormControlName, FormArray, FormGroup, UntypedFormBuilder, NG_VALUE_ACCESSOR, UntypedFormGroup, UntypedFormControl } from '@angular/forms';
7
- import { concat, of, Subject, combineLatest, startWith, map as map$1, takeUntil, Observable, BehaviorSubject, ReplaySubject, defer } from 'rxjs';
7
+ import { concat, of, Subject, combineLatest, startWith, map as map$1, takeUntil, Observable, BehaviorSubject, ReplaySubject, defer, distinctUntilChanged as distinctUntilChanged$1, filter as filter$1, switchMap as switchMap$1 } from 'rxjs';
8
8
  import { tap, take, catchError, map, takeUntil as takeUntil$1, distinctUntilChanged, filter, switchMap, startWith as startWith$1, debounceTime, shareReplay } from 'rxjs/operators';
9
9
  import * as i2$1 from '@angular/material/form-field';
10
10
  import { MatError, MatFormFieldModule, MatFormField, MatHint, MatLabel, MatSuffix } from '@angular/material/form-field';
@@ -29,6 +29,7 @@ import { MatInputModule, MatInput, MatLabel as MatLabel$1, MatFormField as MatFo
29
29
  import * as i4$1 from '@angular/material/select';
30
30
  import { MatSelectModule, MatSelectTrigger, MatSelect } from '@angular/material/select';
31
31
  import { MatRadioModule, MatRadioButton, MatRadioGroup } from '@angular/material/radio';
32
+ import * as i2$3 from '@angular/material/chips';
32
33
  import { MatChipsModule, MatChipOption, MatChipListbox } from '@angular/material/chips';
33
34
  import * as i4$2 from '@angular/material/tooltip';
34
35
  import { MatTooltipModule, MatTooltip } from '@angular/material/tooltip';
@@ -71,6 +72,7 @@ import { KlesMaterialDatepickerModule } from '@3kles/kles-material-datepicker';
71
72
  import * as i1$2 from '@angular/cdk/clipboard';
72
73
  import { ClipboardModule } from '@angular/cdk/clipboard';
73
74
  import { MatDividerModule } from '@angular/material/divider';
75
+ import { ENTER, COMMA } from '@angular/cdk/keycodes';
74
76
 
75
77
  class KlesAbstractFormControl {
76
78
  constructor(field, ref) {
@@ -6447,6 +6449,213 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
6447
6449
  `, styles: [":host{display:flex;justify-content:inherit}.kles-status{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;color:var(--kles-status-color, var(--mat-sys-on-surface-variant));background:var(--kles-status-container, var(--mat-sys-surface-container-high))}.kles-status--chip{min-height:28px;padding:3px 10px;border-radius:999px;font:var(--mat-sys-label-medium)}.kles-status--badge{min-height:22px;padding:2px 7px;border-radius:4px;font:var(--mat-sys-label-small)}.kles-status--text{padding:0;border-radius:0;background:transparent}.kles-status__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;line-height:20px;overflow:visible;vertical-align:middle}.kles-status__icon svg{width:100%;height:100%;overflow:visible}.kles-status__dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:currentColor}.kles-status__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kles-status--disabled{opacity:.56}.kles-status--neutral{--kles-status-color: var(--mat-sys-on-surface-variant);--kles-status-container: var(--mat-sys-surface-container-high)}.kles-status--info{--kles-status-color: var(--mat-sys-on-primary-container);--kles-status-container: var(--mat-sys-primary-container)}.kles-status--success{--kles-status-color: var(--kles-status-success-color, #1b5e20);--kles-status-container: var(--kles-status-success-container, #d7f5df)}.kles-status--warning{--kles-status-color: var(--kles-status-warning-color, #7a4f00);--kles-status-container: var(--kles-status-warning-container, #ffecb3)}.kles-status--error{--kles-status-color: var(--mat-sys-on-error-container);--kles-status-container: var(--mat-sys-error-container)}\n"] }]
6448
6450
  }] });
6449
6451
 
6452
+ class KlesFormChipGridComponent extends KlesFieldAbstract {
6453
+ constructor() {
6454
+ super(...arguments);
6455
+ this.options = this.field.options;
6456
+ this.control = this.group.controls[this.field.name];
6457
+ this.intl = inject(KlesDynamicFormIntl);
6458
+ this.separatorKeysCodes = [ENTER, COMMA];
6459
+ this.isFocused = new Subject();
6460
+ this.searchControl = new FormControl('aaa');
6461
+ }
6462
+ ngOnInit() {
6463
+ if (this.field.lazy) {
6464
+ this.options$ = this.isFocused.pipe(distinctUntilChanged$1(), filter$1((isFocused) => isFocused), switchMap$1((isFocused) => {
6465
+ if (isFocused) {
6466
+ let obs$;
6467
+ if (this.field.options instanceof Observable) {
6468
+ obs$ = this.field.options;
6469
+ }
6470
+ else if (this.field.options instanceof Function) {
6471
+ obs$ = this.field.options();
6472
+ }
6473
+ else {
6474
+ obs$ = of(this.field.options ?? []);
6475
+ }
6476
+ return concat(of({ loading: true, options: [] }), obs$.pipe(map$1((options) => {
6477
+ return { loading: false, options };
6478
+ })));
6479
+ }
6480
+ else {
6481
+ return of({ loading: false, options: [] });
6482
+ }
6483
+ }));
6484
+ }
6485
+ else {
6486
+ if (this.field.options instanceof Observable) {
6487
+ this.options$ = concat(of({ loading: true, options: [] }), this.field.options.pipe(map$1((options) => {
6488
+ return { loading: false, options };
6489
+ })));
6490
+ }
6491
+ else if (this.field.options instanceof Function) {
6492
+ this.options$ = concat(of({ loading: true, options: [] }), this.field.options().pipe(map$1((options) => {
6493
+ return { loading: false, options };
6494
+ })));
6495
+ }
6496
+ else {
6497
+ this.options$ = of({ loading: false, options: this.field.options });
6498
+ }
6499
+ }
6500
+ this.filteredOption$ = concat(combineLatest([this.searchControl?.valueChanges.pipe(startWith('')) ?? of(''), this.options$]).pipe(map$1(([data, response]) => {
6501
+ if (response.loading) {
6502
+ return response;
6503
+ }
6504
+ else {
6505
+ return { loading: false, options: data && response.options ? this.filterData(data, response.options) : response.options };
6506
+ }
6507
+ })));
6508
+ super.ngOnInit();
6509
+ }
6510
+ ngOnDestroy() {
6511
+ super.ngOnDestroy();
6512
+ }
6513
+ onFocus() {
6514
+ if (this.field.lazy) {
6515
+ this.isFocused.next(true);
6516
+ }
6517
+ super.onFocus();
6518
+ }
6519
+ onTokenEnd(event) {
6520
+ this.addChip(event.value);
6521
+ event.chipInput.clear();
6522
+ }
6523
+ addChip(rawValue) {
6524
+ const value = (rawValue || '').trim();
6525
+ if (value) {
6526
+ this.control.setValue([...(this.control.value ?? []), value]);
6527
+ }
6528
+ }
6529
+ removeChip(value) {
6530
+ const values = this.control.value;
6531
+ const index = values.lastIndexOf(value);
6532
+ if (index > -1) {
6533
+ values.splice(index, 1);
6534
+ this.control.setValue(values);
6535
+ }
6536
+ }
6537
+ selected(event) {
6538
+ this.addChip(event.option.viewValue);
6539
+ event.option.deselect();
6540
+ this.searchControl.reset();
6541
+ }
6542
+ filterData(value, options) {
6543
+ let filterValue = undefined;
6544
+ const property = this.field.property;
6545
+ if (typeof value === 'string' && Object.prototype.toString.call(value) === '[object String]') {
6546
+ filterValue = value.toLowerCase();
6547
+ }
6548
+ else {
6549
+ if (property) {
6550
+ filterValue = value[property]?.toLowerCase();
6551
+ }
6552
+ }
6553
+ if (filterValue != undefined) {
6554
+ if (property) {
6555
+ return options.filter((option) => option[property].toLowerCase().indexOf(filterValue) === 0);
6556
+ }
6557
+ return options.filter((option) => option.toLowerCase().indexOf(filterValue) === 0);
6558
+ }
6559
+ else {
6560
+ return options;
6561
+ }
6562
+ }
6563
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: KlesFormChipGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6564
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: KlesFormChipGridComponent, isStandalone: true, selector: "kles-form-chip-grid", usesInheritance: true, ngImport: i0, template: `
6565
+ <div [formGroup]="group">
6566
+ <mat-form-field [matTooltip]="tooltip()">
6567
+ <mat-label>{{ label() }}</mat-label>
6568
+ <mat-chip-grid #reactiveChipGrid [formControl]="group.controls[field.name]">
6569
+ @for (value of group.controls[field.name].value ?? []; track value) {
6570
+ <mat-chip-row (removed)="removeChip(value)">
6571
+ {{ value | klesTransform: field.pipeTransform }}
6572
+ <button matChipRemove>
6573
+ <mat-icon>cancel</mat-icon>
6574
+ </button>
6575
+ </mat-chip-row>
6576
+ }
6577
+ </mat-chip-grid>
6578
+ <input
6579
+ #search
6580
+ [formControl]="searchControl"
6581
+ [placeholder]="placeholder()"
6582
+ [matChipInputFor]="reactiveChipGrid"
6583
+ (matChipInputTokenEnd)="onTokenEnd($event)"
6584
+ [matAutocomplete]="auto"
6585
+ [matChipInputSeparatorKeyCodes]="separatorKeysCodes"
6586
+ (focus)="onFocus()"
6587
+ (blur)="onBlur()"
6588
+ />
6589
+
6590
+ <mat-autocomplete #auto="matAutocomplete" (optionSelected)="selected($event); search.value = ''">
6591
+ @if (filteredOption$ | async; as filteredOption) {
6592
+ @if (filteredOption.loading) {
6593
+ <mat-option disabled>
6594
+ <div class="loadingSelect">
6595
+ {{ intl.loading }}...
6596
+ <mat-spinner class="spinner" diameter="20"></mat-spinner>
6597
+ </div>
6598
+ </mat-option>
6599
+ } @else {
6600
+ @for (item of filteredOption.options; track item) {
6601
+ <mat-option [value]="item" [disabled]="item?.disabled">{{ (field.property ? item[field.property] : item) | klesTransform: field.pipeTransform }}</mat-option>
6602
+ }
6603
+ }
6604
+ }
6605
+ </mat-autocomplete>
6606
+ </mat-form-field>
6607
+ </div>
6608
+ `, isInline: true, styles: [".suffix{display:flex;align-items:center}\n", ".field-bottom .mat-mdc-form-field-bottom-align:before{content:none!important}\n", ".loadingSelect{display:flex;flex-direction:row;justify-content:space-between;align-items:center}\n", "mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i2$3.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i2$3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i2$3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2$3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: KlesTransformPipe, name: "klesTransform" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
6609
+ }
6610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: KlesFormChipGridComponent, decorators: [{
6611
+ type: Component,
6612
+ args: [{ selector: 'kles-form-chip-grid', template: `
6613
+ <div [formGroup]="group">
6614
+ <mat-form-field [matTooltip]="tooltip()">
6615
+ <mat-label>{{ label() }}</mat-label>
6616
+ <mat-chip-grid #reactiveChipGrid [formControl]="group.controls[field.name]">
6617
+ @for (value of group.controls[field.name].value ?? []; track value) {
6618
+ <mat-chip-row (removed)="removeChip(value)">
6619
+ {{ value | klesTransform: field.pipeTransform }}
6620
+ <button matChipRemove>
6621
+ <mat-icon>cancel</mat-icon>
6622
+ </button>
6623
+ </mat-chip-row>
6624
+ }
6625
+ </mat-chip-grid>
6626
+ <input
6627
+ #search
6628
+ [formControl]="searchControl"
6629
+ [placeholder]="placeholder()"
6630
+ [matChipInputFor]="reactiveChipGrid"
6631
+ (matChipInputTokenEnd)="onTokenEnd($event)"
6632
+ [matAutocomplete]="auto"
6633
+ [matChipInputSeparatorKeyCodes]="separatorKeysCodes"
6634
+ (focus)="onFocus()"
6635
+ (blur)="onBlur()"
6636
+ />
6637
+
6638
+ <mat-autocomplete #auto="matAutocomplete" (optionSelected)="selected($event); search.value = ''">
6639
+ @if (filteredOption$ | async; as filteredOption) {
6640
+ @if (filteredOption.loading) {
6641
+ <mat-option disabled>
6642
+ <div class="loadingSelect">
6643
+ {{ intl.loading }}...
6644
+ <mat-spinner class="spinner" diameter="20"></mat-spinner>
6645
+ </div>
6646
+ </mat-option>
6647
+ } @else {
6648
+ @for (item of filteredOption.options; track item) {
6649
+ <mat-option [value]="item" [disabled]="item?.disabled">{{ (field.property ? item[field.property] : item) | klesTransform: field.pipeTransform }}</mat-option>
6650
+ }
6651
+ }
6652
+ }
6653
+ </mat-autocomplete>
6654
+ </mat-form-field>
6655
+ </div>
6656
+ `, standalone: true, imports: [MatIconModule, KlesTransformPipe, MatChipsModule, MatTooltip, ReactiveFormsModule, MatFormFieldModule, MatAutocompleteModule, AsyncPipe, MatProgressSpinnerModule], styles: [".suffix{display:flex;align-items:center}\n", ".field-bottom .mat-mdc-form-field-bottom-align:before{content:none!important}\n", ".loadingSelect{display:flex;flex-direction:row;justify-content:space-between;align-items:center}\n", "mat-form-field{width:100%}\n"] }]
6657
+ }] });
6658
+
6450
6659
  const components = [
6451
6660
  KlesDynamicFormComponent,
6452
6661
  KlesFormLabelComponent,
@@ -6496,7 +6705,8 @@ const components = [
6496
6705
  KlesFormTileComponent,
6497
6706
  KlesFormActionMenuComponent,
6498
6707
  KlesFormCurrencyComponent,
6499
- KlesFormStatusComponent
6708
+ KlesFormStatusComponent,
6709
+ KlesFormChipGridComponent
6500
6710
  ];
6501
6711
  const colorPicker = [ColorPickerComponent, ColorPickerDirective];
6502
6712
  const directives = [KlesDynamicFieldDirective, KlesComponentDirective, MatErrorMessageDirective, MatErrorFormDirective];
@@ -6552,7 +6762,8 @@ class KlesMaterialDynamicformsModule {
6552
6762
  KlesFormTileComponent,
6553
6763
  KlesFormActionMenuComponent,
6554
6764
  KlesFormCurrencyComponent,
6555
- KlesFormStatusComponent, KlesDynamicFieldDirective, KlesComponentDirective, MatErrorMessageDirective, MatErrorFormDirective, KlesTransformPipe, ArrayFormatPipe, ColorPickerComponent, ColorPickerDirective], exports: [KlesDynamicFormComponent,
6765
+ KlesFormStatusComponent,
6766
+ KlesFormChipGridComponent, KlesDynamicFieldDirective, KlesComponentDirective, MatErrorMessageDirective, MatErrorFormDirective, KlesTransformPipe, ArrayFormatPipe, ColorPickerComponent, ColorPickerDirective], exports: [KlesDynamicFormComponent,
6556
6767
  KlesFormLabelComponent,
6557
6768
  KlesFormInputComponent,
6558
6769
  KlesFormInputClearableComponent,
@@ -6600,7 +6811,8 @@ class KlesMaterialDynamicformsModule {
6600
6811
  KlesFormTileComponent,
6601
6812
  KlesFormActionMenuComponent,
6602
6813
  KlesFormCurrencyComponent,
6603
- KlesFormStatusComponent, KlesTransformPipe, ArrayFormatPipe, KlesDynamicFieldDirective, KlesComponentDirective, MatErrorMessageDirective, MatErrorFormDirective] }); }
6814
+ KlesFormStatusComponent,
6815
+ KlesFormChipGridComponent, KlesTransformPipe, ArrayFormatPipe, KlesDynamicFieldDirective, KlesComponentDirective, MatErrorMessageDirective, MatErrorFormDirective] }); }
6604
6816
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: KlesMaterialDynamicformsModule, providers: [{ provide: ErrorStateMatcher, useClass: KlesFormErrorStateMatcher }, pipes], imports: [CommonModule, ReactiveFormsModule, FormsModule, MaterialModule, NgxMatSelectSearchModule, KlesDynamicFormComponent,
6605
6817
  KlesFormLabelComponent,
6606
6818
  KlesFormInputComponent,
@@ -6648,7 +6860,8 @@ class KlesMaterialDynamicformsModule {
6648
6860
  KlesFormTileComponent,
6649
6861
  KlesFormActionMenuComponent,
6650
6862
  KlesFormCurrencyComponent,
6651
- KlesFormStatusComponent, MatErrorMessageDirective, MatErrorFormDirective, ColorPickerComponent] }); }
6863
+ KlesFormStatusComponent,
6864
+ KlesFormChipGridComponent, MatErrorMessageDirective, MatErrorFormDirective, ColorPickerComponent] }); }
6652
6865
  }
6653
6866
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: KlesMaterialDynamicformsModule, decorators: [{
6654
6867
  type: NgModule,
@@ -6665,13 +6878,14 @@ class KlesFormPasswordVisibilityComponent {
6665
6878
  this.field = inject(FIELD);
6666
6879
  this.group = inject(GROUP);
6667
6880
  this.siblingFields = inject(SIBLING_FIELDS);
6668
- this.hide = signal(true, ...(ngDevMode ? [{ debugName: "hide" }] : /* istanbul ignore next */ []));
6881
+ this.ui = inject(GROUP_UI, { optional: true });
6882
+ this.hide = computed(() => {
6883
+ return this.ui?.get(this.field.name)?.value().inputType === 'password';
6884
+ }, ...(ngDevMode ? [{ debugName: "hide" }] : /* istanbul ignore next */ []));
6669
6885
  }
6670
6886
  toggleVisibility(event) {
6671
6887
  event.stopPropagation();
6672
- this.hide.set(!this.hide());
6673
- // this.field.inputType = this.hide ? 'password' : 'text';
6674
- //TODO
6888
+ this.ui?.get(this.field.name)?.patchValue({ inputType: this.hide() ? 'text' : 'password' });
6675
6889
  }
6676
6890
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: KlesFormPasswordVisibilityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6677
6891
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: KlesFormPasswordVisibilityComponent, isStandalone: true, selector: "kles-form-password-visibility", ngImport: i0, template: `
@@ -6725,5 +6939,5 @@ function autocompleteStringValidator(validOptions, optional) {
6725
6939
  * Generated bundle index. Do not edit.
6726
6940
  */
6727
6941
 
6728
- export { AbstractUiState, ArrayFormatPipe, ArrayUiState, ControlUiState, EnumType, FIELD, FIELD_CONTEXT, FIELD_NAME, FieldMapper, GROUP, GROUP_UI, GroupUiState, KlesAbstractFormControl, KlesAbstractFormUiControl, KlesButtonBase, KlesButtonCheckerComponent, KlesButtonComponent, KlesButtonFileComponent, KlesComponentDirective, KlesCurrencyValueAccessorDirective, KlesDynamicFieldDirective, KlesDynamicFormComponent, KlesDynamicFormIntl, KlesFabComponent, KlesFieldAbstract, KlesFileControlComponent, KlesFormActionMenuComponent, KlesFormArray, KlesFormArrayComponent, KlesFormBadgeComponent, KlesFormButtonCheckerComponent, KlesFormButtonComponent, KlesFormButtonFileComponent, KlesFormButtonToogleGroupComponent, KlesFormCheckboxComponent, KlesFormCheckboxIndeterminateComponent, KlesFormChipComponent, KlesFormClearComponent, KlesFormColorComponent, KlesFormControl, KlesFormCopyComponent, KlesFormCurrencyComponent, KlesFormDateComponent, KlesFormDateTimeComponent, KlesFormErrorStateMatcher, KlesFormFabComponent, KlesFormFileComponent, KlesFormGroup, KlesFormGroupComponent, KlesFormIconButtonComponent, KlesFormIconComponent, KlesFormInputClearableComponent, KlesFormInputComponent, KlesFormLabelComponent, KlesFormLineBreakComponent, KlesFormLinkComponent, KlesFormListFieldComponent, KlesFormMiniFabComponent, KlesFormPasswordVisibilityComponent, KlesFormRadioComponent, KlesFormRange, KlesFormRangeComponent, KlesFormSelectComponent, KlesFormSelectLazySearchComponent, KlesFormSelectSearchComponent, KlesFormSelectionListComponent, KlesFormSelectionListSearchComponent, KlesFormSlideToggleComponent, KlesFormStatusComponent, KlesFormTextComponent, KlesFormTextareaComponent, KlesFormTileComponent, KlesFormUiArray, KlesFormUiControl, KlesFormUiGroup, KlesIconButtonComponent, KlesIndeterminateCheckboxComponent, KlesMaterialDynamicformsModule, KlesMiniFabComponent, KlesSelectionModel, KlesTransformPipe, MatErrorFormDirective, MatErrorMessageDirective, SIBLING_FIELDS, autocompleteObjectValidator, autocompleteStringValidator, componentMapper, isDestroyable, klesFieldControlFactory, klesFieldUiFactory };
6942
+ export { AbstractUiState, ArrayFormatPipe, ArrayUiState, ControlUiState, EnumType, FIELD, FIELD_CONTEXT, FIELD_NAME, FieldMapper, GROUP, GROUP_UI, GroupUiState, KlesAbstractFormControl, KlesAbstractFormUiControl, KlesButtonBase, KlesButtonCheckerComponent, KlesButtonComponent, KlesButtonFileComponent, KlesComponentDirective, KlesCurrencyValueAccessorDirective, KlesDynamicFieldDirective, KlesDynamicFormComponent, KlesDynamicFormIntl, KlesFabComponent, KlesFieldAbstract, KlesFileControlComponent, KlesFormActionMenuComponent, KlesFormArray, KlesFormArrayComponent, KlesFormBadgeComponent, KlesFormButtonCheckerComponent, KlesFormButtonComponent, KlesFormButtonFileComponent, KlesFormButtonToogleGroupComponent, KlesFormCheckboxComponent, KlesFormCheckboxIndeterminateComponent, KlesFormChipComponent, KlesFormChipGridComponent, KlesFormClearComponent, KlesFormColorComponent, KlesFormControl, KlesFormCopyComponent, KlesFormCurrencyComponent, KlesFormDateComponent, KlesFormDateTimeComponent, KlesFormErrorStateMatcher, KlesFormFabComponent, KlesFormFileComponent, KlesFormGroup, KlesFormGroupComponent, KlesFormIconButtonComponent, KlesFormIconComponent, KlesFormInputClearableComponent, KlesFormInputComponent, KlesFormLabelComponent, KlesFormLineBreakComponent, KlesFormLinkComponent, KlesFormListFieldComponent, KlesFormMiniFabComponent, KlesFormPasswordVisibilityComponent, KlesFormRadioComponent, KlesFormRange, KlesFormRangeComponent, KlesFormSelectComponent, KlesFormSelectLazySearchComponent, KlesFormSelectSearchComponent, KlesFormSelectionListComponent, KlesFormSelectionListSearchComponent, KlesFormSlideToggleComponent, KlesFormStatusComponent, KlesFormTextComponent, KlesFormTextareaComponent, KlesFormTileComponent, KlesFormUiArray, KlesFormUiControl, KlesFormUiGroup, KlesIconButtonComponent, KlesIndeterminateCheckboxComponent, KlesMaterialDynamicformsModule, KlesMiniFabComponent, KlesSelectionModel, KlesTransformPipe, MatErrorFormDirective, MatErrorMessageDirective, SIBLING_FIELDS, autocompleteObjectValidator, autocompleteStringValidator, componentMapper, isDestroyable, klesFieldControlFactory, klesFieldUiFactory };
6729
6943
  //# sourceMappingURL=3kles-kles-material-dynamicforms.mjs.map