@3kles/kles-material-dynamicforms 21.1.0 → 21.2.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3kles/kles-material-dynamicforms",
3
- "version": "21.1.0",
3
+ "version": "21.2.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/3kles-lab/klesmaterialdynamicforms"
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnInit, OnDestroy, Type, PipeTransform, ViewContainerRef, Provider, StaticProvider, Signal, OnChanges, EventEmitter, ChangeDetectorRef, SimpleChanges, ComponentRef, Injector, AfterViewInit, QueryList, InjectionToken } from '@angular/core';
2
+ import { OnInit, OnDestroy, Type, PipeTransform, ViewContainerRef, Provider, StaticProvider, Signal, OnChanges, EventEmitter, ChangeDetectorRef, SimpleChanges, ComponentRef, Injector, AfterViewInit, QueryList, ElementRef, InjectionToken } from '@angular/core';
3
3
  import * as i2$1 from '@angular/forms';
4
4
  import { UntypedFormGroup, ValidatorFn, AsyncValidatorFn, ɵGetProperty as _GetProperty, ɵTypedOrUntyped as _TypedOrUntyped, UntypedFormBuilder, FormGroup, ControlValueAccessor, Validators, AsyncValidator, UntypedFormArray, UntypedFormControl, FormControl, FormGroupDirective, NgForm, AbstractControl } from '@angular/forms';
5
5
  import { Subject, Observable, ReplaySubject, BehaviorSubject } from 'rxjs';
@@ -48,7 +48,8 @@ import * as i35 from '@angular/cdk/portal';
48
48
  import * as i36 from '@angular/cdk/scrolling';
49
49
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
50
50
  import * as i4$1 from 'ngx-mat-select-search';
51
- import * as i56 from 'ngx-color-picker';
51
+ import * as _3kles_kles_material_dynamicforms from '@3kles/kles-material-dynamicforms';
52
+ import * as i60 from 'ngx-color-picker';
52
53
 
53
54
  type Exclusive<T, U> = (T & {
54
55
  [K in keyof U]?: never;
@@ -84,7 +85,9 @@ declare enum EnumType {
84
85
  group = "group",
85
86
  lineBreak = "lineBreak",
86
87
  badge = "badge",
87
- range = "range"
88
+ range = "range",
89
+ currency = "currency",
90
+ status = "status"
88
91
  }
89
92
 
90
93
  interface IKlesField {
@@ -96,6 +99,57 @@ interface IKlesField {
96
99
  interface IKlesDirective extends OnInit, OnDestroy {
97
100
  }
98
101
 
102
+ interface IKlesFieldActionEvent<TContext = unknown, TValue = unknown> {
103
+ actionId: string;
104
+ value?: TValue;
105
+ context: TContext | null;
106
+ field: IKlesFieldConfig;
107
+ group: UntypedFormGroup;
108
+ originalEvent: Event;
109
+ }
110
+ interface IKlesCurrencyOptions {
111
+ /**
112
+ * Code ISO 4217 : EUR, USD, GBP...
113
+ * DEFAULT_CURRENCY_CODE sera utilisé par défaut.
114
+ */
115
+ code?: string;
116
+ /**
117
+ * Locale Intl : fr-FR, en-US...
118
+ * LOCALE_ID sera utilisé par défaut.
119
+ */
120
+ locale?: string;
121
+ display?: 'symbol' | 'narrowSymbol' | 'code' | 'name';
122
+ minimumFractionDigits?: number;
123
+ maximumFractionDigits?: number;
124
+ useGrouping?: boolean;
125
+ allowNegative?: boolean;
126
+ }
127
+ type KlesStatusTone = 'neutral' | 'info' | 'success' | 'warning' | 'error';
128
+ type KlesStatusAppearance = 'chip' | 'badge' | 'text';
129
+ interface IKlesStatusDefinition {
130
+ label: string;
131
+ tone?: KlesStatusTone;
132
+ icon?: string;
133
+ iconSvg?: string;
134
+ tooltip?: string;
135
+ ariaLabel?: string;
136
+ ngClass?: any;
137
+ }
138
+ interface IKlesStatusOptions {
139
+ values?: Record<string, IKlesStatusDefinition>;
140
+ appearance?: KlesStatusAppearance;
141
+ /**
142
+ * Affiche un point coloré lorsque le statut
143
+ * ne possède pas d'icône.
144
+ */
145
+ showDot?: boolean;
146
+ fallback?: IKlesStatusDefinition;
147
+ /**
148
+ * Permet de gérer des valeurs plus complexes,
149
+ * notamment des objets.
150
+ */
151
+ resolve?: (value: any, context: unknown | null, field: IKlesFieldConfig, group: UntypedFormGroup) => IKlesStatusDefinition | null;
152
+ }
99
153
  interface IKlesFieldUi {
100
154
  inputType?: 'text' | 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'time' | 'url' | 'week';
101
155
  min?: number | Date;
@@ -128,15 +182,18 @@ interface IKlesFieldUi {
128
182
  };
129
183
  virtualScroll?: boolean;
130
184
  itemSize?: number;
185
+ hint?: string;
186
+ label?: string;
187
+ placeholder?: any;
188
+ tooltip?: string;
189
+ imageUrl?: string;
190
+ imageAlt?: string;
131
191
  }
132
192
  interface IKlesFormField {
133
193
  type?: EnumType;
134
194
  name: string;
135
195
  component?: Type<any>;
136
196
  id?: string;
137
- label?: string;
138
- placeholder?: any;
139
- tooltip?: string;
140
197
  copyTooltip?: string;
141
198
  options?: any[] | Subject<any[]> | Observable<any[]> | ((value?: string, group?: {
142
199
  [key: string]: any;
@@ -175,7 +232,6 @@ interface IKlesFormField {
175
232
  language: string;
176
233
  dateFormat: MatDateFormats;
177
234
  };
178
- hint?: string;
179
235
  clearable?: boolean;
180
236
  clearableComponent?: Type<any>;
181
237
  subComponents?: Type<any>[];
@@ -185,6 +241,9 @@ interface IKlesFormField {
185
241
  onFocus?: (field: IKlesFieldConfig, group: UntypedFormGroup) => void;
186
242
  onBlur?: (field: IKlesFieldConfig, group: UntypedFormGroup) => void;
187
243
  providers?: Array<Provider | StaticProvider>;
244
+ onAction?: (event: IKlesFieldActionEvent<any, any>) => void;
245
+ currencyOptions?: IKlesCurrencyOptions;
246
+ statusOptions?: IKlesStatusOptions;
188
247
  }
189
248
  type IKlesFieldConfig = IKlesFormField & IKlesFieldUi;
190
249
 
@@ -285,24 +344,32 @@ declare class KlesDynamicFieldDirective<T extends IKlesFieldConfig = IKlesFieldC
285
344
  static ɵdir: i0.ɵɵDirectiveDeclaration<KlesDynamicFieldDirective<any>, "[klesDynamicField]", never, { "field": { "alias": "field"; "required": false; }; "group": { "alias": "group"; "required": false; }; "ui": { "alias": "ui"; "required": false; }; "siblingFields": { "alias": "siblingFields"; "required": false; }; }, {}, never, never, true, never>;
286
345
  }
287
346
 
288
- declare abstract class KlesFieldAbstract implements IKlesField, OnInit, AfterViewInit, OnDestroy {
347
+ declare abstract class KlesFieldAbstract<TContext = unknown> implements IKlesField, OnInit, AfterViewInit, OnDestroy {
289
348
  readonly field: IKlesFieldConfig;
290
349
  readonly group: FormGroup<any>;
291
350
  readonly siblingFields: IKlesFieldConfig[];
292
351
  readonly ui: GroupUiState<any>;
293
- appearance: i0.Signal<any>;
294
- inputType: i0.Signal<any>;
295
- min: i0.Signal<any>;
296
- max: i0.Signal<any>;
297
- maxLength: i0.Signal<any>;
298
- step: i0.Signal<any>;
299
- ngClass: i0.Signal<any>;
300
- ngStyle: i0.Signal<any>;
301
- indeterminate: i0.Signal<any>;
302
- color: i0.Signal<any>;
303
- icon: i0.Signal<any>;
304
- iconSvg: i0.Signal<any>;
305
- buttonAppearance: i0.Signal<any>;
352
+ readonly context: Signal<TContext | null> | null;
353
+ protected readonly fieldUi: Signal<any>;
354
+ readonly appearance: Signal<any>;
355
+ readonly inputType: Signal<any>;
356
+ readonly min: Signal<any>;
357
+ readonly max: Signal<any>;
358
+ readonly maxLength: Signal<any>;
359
+ readonly step: Signal<any>;
360
+ readonly ngClass: Signal<any>;
361
+ readonly ngStyle: Signal<any>;
362
+ readonly indeterminate: Signal<any>;
363
+ readonly color: Signal<any>;
364
+ readonly icon: Signal<any>;
365
+ readonly iconSvg: Signal<any>;
366
+ readonly buttonAppearance: Signal<any>;
367
+ readonly label: Signal<any>;
368
+ readonly hint: Signal<any>;
369
+ readonly placeholder: Signal<any>;
370
+ readonly tooltip: Signal<any>;
371
+ readonly imageUrl: Signal<any>;
372
+ readonly imageAlt: Signal<any>;
306
373
  protected readonly viewRef: ViewContainerRef;
307
374
  directive: any;
308
375
  protected _onDestroy: Subject<void>;
@@ -314,8 +381,9 @@ declare abstract class KlesFieldAbstract implements IKlesField, OnInit, AfterVie
314
381
  isPending(): boolean;
315
382
  onFocus(): void;
316
383
  onBlur(): void;
317
- static ɵfac: i0.ɵɵFactoryDeclaration<KlesFieldAbstract, never>;
318
- static ɵdir: i0.ɵɵDirectiveDeclaration<KlesFieldAbstract, never, never, {}, {}, never, never, true, never>;
384
+ triggerAction(actionId: string, originalEvent: Event, value?: unknown): void;
385
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesFieldAbstract<any>, never>;
386
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KlesFieldAbstract<any>, never, never, {}, {}, never, never, true, never>;
319
387
  }
320
388
 
321
389
  declare class KlesFormLabelComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
@@ -354,17 +422,18 @@ declare abstract class KlesButtonBase implements OnInit, ControlValueAccessor {
354
422
  value: IButton;
355
423
  tooltip?: string;
356
424
  buttonAppearance: MatButtonAppearance;
425
+ action: EventEmitter<MouseEvent>;
357
426
  protected _type: string;
358
427
  onChange: any;
359
428
  onTouched: any;
360
429
  ngOnInit(): void;
361
- click(event: any): void;
430
+ click(event: MouseEvent): void;
362
431
  writeValue(value: IButton): void;
363
432
  registerOnChange(fn: any): void;
364
433
  registerOnTouched(fn: any): void;
365
434
  setDisabledState?(isDisabled: boolean): void;
366
435
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonBase, never>;
367
- static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonBase, "ng-component", never, { "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "color": { "alias": "color"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconSvg": { "alias": "iconSvg"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "classButton": { "alias": "classButton"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "buttonAppearance": { "alias": "buttonAppearance"; "required": false; }; }, {}, never, never, true, never>;
436
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonBase, "ng-component", never, { "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "color": { "alias": "color"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconSvg": { "alias": "iconSvg"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "classButton": { "alias": "classButton"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "buttonAppearance": { "alias": "buttonAppearance"; "required": false; }; }, { "action": "action"; }, never, never, true, never>;
368
437
  }
369
438
 
370
439
  declare class KlesButtonComponent extends KlesButtonBase implements OnInit {
@@ -956,10 +1025,142 @@ declare class KlesFormSelectionListSearchComponent extends KlesFieldAbstract imp
956
1025
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormSelectionListSearchComponent, "kles-form-selection-list-search", never, {}, {}, never, never, true, never>;
957
1026
  }
958
1027
 
1028
+ declare class KlesFormTileComponent extends KlesFieldAbstract {
1029
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormTileComponent, never>;
1030
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormTileComponent, "app-kles-form-tile", never, {}, {}, never, never, true, never>;
1031
+ }
1032
+
1033
+ /**
1034
+ * Condition statique ou calculée à partir du contexte du field.
1035
+ */
1036
+ type KlesActionMenuCondition<TContext = unknown> = boolean | ((context: TContext | null, field: IKlesFieldConfig, group: UntypedFormGroup) => boolean);
1037
+ /**
1038
+ * Configuration d'une entrée du menu.
1039
+ *
1040
+ * Le callback n'est pas placé ici :
1041
+ * toutes les actions sont gérées par field.onAction.
1042
+ */
1043
+ interface KlesActionMenuItem<TContext = unknown> {
1044
+ id: string;
1045
+ label: string;
1046
+ icon?: string;
1047
+ iconSvg?: string;
1048
+ visible?: KlesActionMenuCondition<TContext>;
1049
+ disabled?: KlesActionMenuCondition<TContext>;
1050
+ dividerBefore?: boolean;
1051
+ color?: 'default' | 'warn';
1052
+ }
1053
+ /**
1054
+ * Configuration spécialisée du field action-menu.
1055
+ */
1056
+ interface KlesActionMenuFieldConfig<TContext = unknown> extends IKlesFieldConfig {
1057
+ options?: KlesActionMenuItem<TContext>[] | Observable<KlesActionMenuItem<TContext>[]> | ((value?: string, group?: {
1058
+ [key: string]: any;
1059
+ }) => Observable<KlesActionMenuItem<TContext>[]>);
1060
+ menuXPosition?: 'before' | 'after';
1061
+ menuYPosition?: 'above' | 'below';
1062
+ }
1063
+ declare class KlesFormActionMenuComponent<TContext = unknown> extends KlesFieldAbstract<TContext> {
1064
+ /**
1065
+ * Configuration du field avec le typage spécialisé.
1066
+ */
1067
+ readonly actionField: KlesActionMenuFieldConfig<TContext>;
1068
+ private readonly control;
1069
+ private readonly controlStatus;
1070
+ /**
1071
+ * Options statiques ou asynchrones.
1072
+ */
1073
+ private readonly actionsSource$;
1074
+ readonly actions: i0.Signal<KlesActionMenuItem<TContext>[]>;
1075
+ readonly disabled: i0.Signal<boolean>;
1076
+ readonly visibleActions: i0.Signal<KlesActionMenuItem<TContext>[]>;
1077
+ readonly ariaLabel: i0.Signal<any>;
1078
+ onTriggerClick(event: MouseEvent): void;
1079
+ isDisabled(action: KlesActionMenuItem<TContext>): boolean;
1080
+ execute(action: KlesActionMenuItem<TContext>, event: MouseEvent): void;
1081
+ private resolveCondition;
1082
+ private resolveOptions;
1083
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormActionMenuComponent<any>, never>;
1084
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormActionMenuComponent<any>, "kles-form-action-menu", never, {}, {}, never, never, true, never>;
1085
+ }
1086
+
1087
+ /**
1088
+ * ValueAccessor monétaire.
1089
+ *
1090
+ * La valeur du FormControl reste un number | null.
1091
+ * Seule la valeur affichée dans l'input est formatée.
1092
+ */
1093
+ declare class KlesCurrencyValueAccessorDirective implements ControlValueAccessor, OnChanges {
1094
+ /**
1095
+ * Public pour rester compatible avec le mécanisme
1096
+ * nativeElement utilisé par la librairie.
1097
+ */
1098
+ readonly _elementRef: ElementRef<HTMLInputElement>;
1099
+ private readonly renderer;
1100
+ currency: string;
1101
+ locale: string;
1102
+ currencyDisplay: 'symbol' | 'narrowSymbol' | 'code' | 'name';
1103
+ minimumFractionDigits?: number;
1104
+ maximumFractionDigits?: number;
1105
+ useGrouping: boolean;
1106
+ allowNegative: boolean;
1107
+ private currentValue;
1108
+ private focused;
1109
+ private onChange;
1110
+ private onTouched;
1111
+ ngOnChanges(changes: SimpleChanges): void;
1112
+ writeValue(value: unknown): void;
1113
+ registerOnChange(callback: (value: number | null) => void): void;
1114
+ registerOnTouched(callback: () => void): void;
1115
+ setDisabledState(disabled: boolean): void;
1116
+ handleFocus(): void;
1117
+ handleInput(event: Event): void;
1118
+ handleBlur(): void;
1119
+ private normalizeModelValue;
1120
+ private renderFormattedValue;
1121
+ private setInputValue;
1122
+ private formatCurrency;
1123
+ /**
1124
+ * Pendant l'édition, on retire le symbole et
1125
+ * les séparateurs de milliers.
1126
+ */
1127
+ private formatEditableValue;
1128
+ private createCurrencyFormatOptions;
1129
+ private parseLocalizedNumber;
1130
+ /**
1131
+ * Convertit également les chiffres localisés
1132
+ * vers 0-9.
1133
+ */
1134
+ private normalizeLocalizedDigits;
1135
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesCurrencyValueAccessorDirective, never>;
1136
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KlesCurrencyValueAccessorDirective, "input[klesCurrency]", never, { "currency": { "alias": "currency"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "currencyDisplay": { "alias": "currencyDisplay"; "required": false; }; "minimumFractionDigits": { "alias": "minimumFractionDigits"; "required": false; }; "maximumFractionDigits": { "alias": "maximumFractionDigits"; "required": false; }; "useGrouping": { "alias": "useGrouping"; "required": false; }; "allowNegative": { "alias": "allowNegative"; "required": false; }; }, {}, never, never, true, never>;
1137
+ }
1138
+ declare class KlesFormCurrencyComponent extends KlesFieldAbstract {
1139
+ readonly localeId: string;
1140
+ readonly defaultCurrencyCode: string;
1141
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormCurrencyComponent, never>;
1142
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormCurrencyComponent, "kles-form-currency", never, {}, {}, never, ["*"], true, never>;
1143
+ }
1144
+
1145
+ declare class KlesFormStatusComponent<TContext = unknown> extends KlesFieldAbstract<TContext> {
1146
+ private readonly control;
1147
+ private readonly controlValue;
1148
+ private readonly controlStatus;
1149
+ readonly appearance: i0.Signal<_3kles_kles_material_dynamicforms.KlesStatusAppearance>;
1150
+ readonly showDot: i0.Signal<boolean>;
1151
+ readonly disabled: i0.Signal<boolean>;
1152
+ readonly pending: i0.Signal<boolean>;
1153
+ readonly resolvedStatus: i0.Signal<IKlesStatusDefinition>;
1154
+ private resolveStatusKey;
1155
+ private resolveDefaultLabel;
1156
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormStatusComponent<any>, never>;
1157
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormStatusComponent<any>, "kles-form-status", never, {}, {}, never, never, true, never>;
1158
+ }
1159
+
959
1160
  declare class KlesMaterialDynamicformsModule {
960
1161
  static declarations: ((typeof KlesFormClearComponent | typeof KlesDynamicFormComponent | typeof KlesFormLabelComponent | typeof KlesButtonComponent | typeof KlesIndeterminateCheckboxComponent | typeof KlesFileControlComponent | typeof KlesFormCopyComponent)[] | (typeof KlesDynamicFieldDirective | typeof MatErrorFormDirective | typeof KlesComponentDirective | typeof MatErrorMessageDirective)[] | (typeof KlesTransformPipe | typeof ArrayFormatPipe)[])[];
961
1162
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesMaterialDynamicformsModule, never>;
962
- static ɵmod: i0.ɵɵNgModuleDeclaration<KlesMaterialDynamicformsModule, never, [typeof i1.CommonModule, typeof i2$1.ReactiveFormsModule, typeof i2$1.FormsModule, typeof MaterialModule, typeof i4$1.NgxMatSelectSearchModule, typeof KlesDynamicFormComponent, typeof KlesFormLabelComponent, typeof KlesFormInputComponent, typeof KlesFormInputClearableComponent, typeof KlesFormBadgeComponent, typeof KlesFormFileComponent, typeof KlesFileControlComponent, typeof KlesButtonComponent, typeof KlesFormButtonComponent, typeof KlesButtonCheckerComponent, typeof KlesFormButtonCheckerComponent, typeof KlesButtonFileComponent, typeof KlesFormButtonFileComponent, typeof KlesFormSelectComponent, typeof KlesFormDateComponent, typeof KlesFormDateTimeComponent, typeof KlesFormRadioComponent, typeof KlesFormCheckboxComponent, typeof KlesIndeterminateCheckboxComponent, typeof KlesFormCheckboxIndeterminateComponent, typeof KlesFormListFieldComponent, typeof KlesFormColorComponent, typeof KlesFormTextareaComponent, typeof KlesFormTextComponent, typeof KlesFormChipComponent, typeof KlesFormGroupComponent, typeof KlesFormIconComponent, typeof KlesFormSelectSearchComponent, typeof KlesFormLineBreakComponent, typeof KlesFormLinkComponent, typeof KlesFormSlideToggleComponent, typeof KlesFormSelectionListComponent, typeof KlesFormButtonToogleGroupComponent, typeof KlesFormArrayComponent, typeof KlesFormRangeComponent, typeof KlesFormClearComponent, typeof KlesFormSelectLazySearchComponent, typeof KlesFormFabComponent, typeof KlesFabComponent, typeof KlesMiniFabComponent, typeof KlesFormMiniFabComponent, typeof KlesIconButtonComponent, typeof KlesFormIconButtonComponent, typeof KlesFormSelectionListSearchComponent, typeof KlesFormCopyComponent, typeof KlesDynamicFieldDirective, typeof KlesComponentDirective, typeof MatErrorMessageDirective, typeof MatErrorFormDirective, typeof KlesTransformPipe, typeof ArrayFormatPipe, typeof i56.ColorPickerComponent, typeof i56.ColorPickerDirective], [typeof KlesDynamicFormComponent, typeof KlesFormLabelComponent, typeof KlesFormInputComponent, typeof KlesFormInputClearableComponent, typeof KlesFormBadgeComponent, typeof KlesFormFileComponent, typeof KlesFileControlComponent, typeof KlesButtonComponent, typeof KlesFormButtonComponent, typeof KlesButtonCheckerComponent, typeof KlesFormButtonCheckerComponent, typeof KlesButtonFileComponent, typeof KlesFormButtonFileComponent, typeof KlesFormSelectComponent, typeof KlesFormDateComponent, typeof KlesFormDateTimeComponent, typeof KlesFormRadioComponent, typeof KlesFormCheckboxComponent, typeof KlesIndeterminateCheckboxComponent, typeof KlesFormCheckboxIndeterminateComponent, typeof KlesFormListFieldComponent, typeof KlesFormColorComponent, typeof KlesFormTextareaComponent, typeof KlesFormTextComponent, typeof KlesFormChipComponent, typeof KlesFormGroupComponent, typeof KlesFormIconComponent, typeof KlesFormSelectSearchComponent, typeof KlesFormLineBreakComponent, typeof KlesFormLinkComponent, typeof KlesFormSlideToggleComponent, typeof KlesFormSelectionListComponent, typeof KlesFormButtonToogleGroupComponent, typeof KlesFormArrayComponent, typeof KlesFormRangeComponent, typeof KlesFormClearComponent, typeof KlesFormSelectLazySearchComponent, typeof KlesFormFabComponent, typeof KlesFabComponent, typeof KlesMiniFabComponent, typeof KlesFormMiniFabComponent, typeof KlesIconButtonComponent, typeof KlesFormIconButtonComponent, typeof KlesFormSelectionListSearchComponent, typeof KlesFormCopyComponent, typeof KlesTransformPipe, typeof ArrayFormatPipe, typeof KlesDynamicFieldDirective, typeof KlesComponentDirective, typeof MatErrorMessageDirective, typeof MatErrorFormDirective]>;
1163
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KlesMaterialDynamicformsModule, never, [typeof i1.CommonModule, typeof i2$1.ReactiveFormsModule, typeof i2$1.FormsModule, typeof MaterialModule, typeof i4$1.NgxMatSelectSearchModule, typeof KlesDynamicFormComponent, typeof KlesFormLabelComponent, typeof KlesFormInputComponent, typeof KlesFormInputClearableComponent, typeof KlesFormBadgeComponent, typeof KlesFormFileComponent, typeof KlesFileControlComponent, typeof KlesButtonComponent, typeof KlesFormButtonComponent, typeof KlesButtonCheckerComponent, typeof KlesFormButtonCheckerComponent, typeof KlesButtonFileComponent, typeof KlesFormButtonFileComponent, typeof KlesFormSelectComponent, typeof KlesFormDateComponent, typeof KlesFormDateTimeComponent, typeof KlesFormRadioComponent, typeof KlesFormCheckboxComponent, typeof KlesIndeterminateCheckboxComponent, typeof KlesFormCheckboxIndeterminateComponent, typeof KlesFormListFieldComponent, typeof KlesFormColorComponent, typeof KlesFormTextareaComponent, typeof KlesFormTextComponent, typeof KlesFormChipComponent, typeof KlesFormGroupComponent, typeof KlesFormIconComponent, typeof KlesFormSelectSearchComponent, typeof KlesFormLineBreakComponent, typeof KlesFormLinkComponent, typeof KlesFormSlideToggleComponent, typeof KlesFormSelectionListComponent, typeof KlesFormButtonToogleGroupComponent, typeof KlesFormArrayComponent, typeof KlesFormRangeComponent, typeof KlesFormClearComponent, typeof KlesFormSelectLazySearchComponent, typeof KlesFormFabComponent, typeof KlesFabComponent, typeof KlesMiniFabComponent, typeof KlesFormMiniFabComponent, typeof KlesIconButtonComponent, typeof KlesFormIconButtonComponent, typeof KlesFormSelectionListSearchComponent, typeof KlesFormCopyComponent, typeof KlesFormTileComponent, typeof KlesFormActionMenuComponent, typeof KlesFormCurrencyComponent, typeof KlesFormStatusComponent, typeof KlesDynamicFieldDirective, typeof KlesComponentDirective, typeof MatErrorMessageDirective, typeof MatErrorFormDirective, typeof KlesTransformPipe, typeof ArrayFormatPipe, typeof i60.ColorPickerComponent, typeof i60.ColorPickerDirective], [typeof KlesDynamicFormComponent, typeof KlesFormLabelComponent, typeof KlesFormInputComponent, typeof KlesFormInputClearableComponent, typeof KlesFormBadgeComponent, typeof KlesFormFileComponent, typeof KlesFileControlComponent, typeof KlesButtonComponent, typeof KlesFormButtonComponent, typeof KlesButtonCheckerComponent, typeof KlesFormButtonCheckerComponent, typeof KlesButtonFileComponent, typeof KlesFormButtonFileComponent, typeof KlesFormSelectComponent, typeof KlesFormDateComponent, typeof KlesFormDateTimeComponent, typeof KlesFormRadioComponent, typeof KlesFormCheckboxComponent, typeof KlesIndeterminateCheckboxComponent, typeof KlesFormCheckboxIndeterminateComponent, typeof KlesFormListFieldComponent, typeof KlesFormColorComponent, typeof KlesFormTextareaComponent, typeof KlesFormTextComponent, typeof KlesFormChipComponent, typeof KlesFormGroupComponent, typeof KlesFormIconComponent, typeof KlesFormSelectSearchComponent, typeof KlesFormLineBreakComponent, typeof KlesFormLinkComponent, typeof KlesFormSlideToggleComponent, typeof KlesFormSelectionListComponent, typeof KlesFormButtonToogleGroupComponent, typeof KlesFormArrayComponent, typeof KlesFormRangeComponent, typeof KlesFormClearComponent, typeof KlesFormSelectLazySearchComponent, typeof KlesFormFabComponent, typeof KlesFabComponent, typeof KlesMiniFabComponent, typeof KlesFormMiniFabComponent, typeof KlesIconButtonComponent, typeof KlesFormIconButtonComponent, typeof KlesFormSelectionListSearchComponent, typeof KlesFormCopyComponent, typeof KlesFormTileComponent, typeof KlesFormActionMenuComponent, typeof KlesFormCurrencyComponent, typeof KlesFormStatusComponent, typeof KlesTransformPipe, typeof ArrayFormatPipe, typeof KlesDynamicFieldDirective, typeof KlesComponentDirective, typeof MatErrorMessageDirective, typeof MatErrorFormDirective]>;
963
1164
  static ɵinj: i0.ɵɵInjectorDeclaration<KlesMaterialDynamicformsModule>;
964
1165
  }
965
1166
 
@@ -1073,6 +1274,7 @@ declare const GROUP: InjectionToken<FormGroup<any>>;
1073
1274
  declare const SIBLING_FIELDS: InjectionToken<IKlesFieldConfig[]>;
1074
1275
  declare const GROUP_UI: InjectionToken<GroupUiState<any>>;
1075
1276
  declare const FIELD: InjectionToken<IKlesFieldConfig>;
1277
+ declare const FIELD_CONTEXT: InjectionToken<Signal<unknown>>;
1076
1278
 
1077
- export { AbstractUiState, ArrayFormatPipe, ArrayUiState, ControlUiState, EnumType, FIELD, FIELD_NAME, FieldMapper, GROUP, GROUP_UI, GroupUiState, KlesAbstractFormControl, KlesAbstractFormUiControl, KlesButtonBase, KlesButtonCheckerComponent, KlesButtonComponent, KlesButtonFileComponent, KlesComponentDirective, KlesDynamicFieldDirective, KlesDynamicFormComponent, KlesDynamicFormIntl, KlesFabComponent, KlesFieldAbstract, KlesFileControlComponent, KlesFormArray, KlesFormArrayComponent, KlesFormBadgeComponent, KlesFormButtonCheckerComponent, KlesFormButtonComponent, KlesFormButtonFileComponent, KlesFormButtonToogleGroupComponent, KlesFormCheckboxComponent, KlesFormCheckboxIndeterminateComponent, KlesFormChipComponent, KlesFormClearComponent, KlesFormColorComponent, KlesFormControl, KlesFormCopyComponent, 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, KlesFormTextComponent, KlesFormTextareaComponent, KlesFormUiArray, KlesFormUiControl, KlesFormUiGroup, KlesIconButtonComponent, KlesIndeterminateCheckboxComponent, KlesMaterialDynamicformsModule, KlesMiniFabComponent, KlesSelectionModel, KlesTransformPipe, MatErrorFormDirective, MatErrorMessageDirective, SIBLING_FIELDS, autocompleteObjectValidator, autocompleteStringValidator, componentMapper, isDestroyable, klesFieldControlFactory, klesFieldUiFactory };
1078
- export type { Destroyable, IButton, IButtonChecker, IButtonFile, IKlesClearControl, IKlesComponent, IKlesControl, IKlesDirective, IKlesField, IKlesFieldConfig, IKlesFieldUi, IKlesFormField, IKlesUi, IKlesValidator, IUIButton, KlesValidationKey };
1279
+ 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 };
1280
+ export type { Destroyable, IButton, IButtonChecker, IButtonFile, IKlesClearControl, IKlesComponent, IKlesControl, IKlesCurrencyOptions, IKlesDirective, IKlesField, IKlesFieldActionEvent, IKlesFieldConfig, IKlesFieldUi, IKlesFormField, IKlesStatusDefinition, IKlesStatusOptions, IKlesUi, IKlesValidator, IUIButton, KlesActionMenuCondition, KlesActionMenuFieldConfig, KlesActionMenuItem, KlesStatusAppearance, KlesStatusTone, KlesValidationKey };