@3kles/kles-material-dynamicforms 21.8.2 → 22.0.1

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,21 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnInit, OnDestroy, Type, PipeTransform, ViewContainerRef, Provider, StaticProvider, Signal, OnChanges, EventEmitter, ChangeDetectorRef, SimpleChanges, ComponentRef, Injector, ApplicationRef, AfterViewInit, ElementRef, InjectionToken } from '@angular/core';
3
- import * as i2$1 from '@angular/forms';
4
- import { UntypedFormGroup, ValidatorFn, AsyncValidatorFn, ɵGetProperty as _GetProperty, ɵTypedOrUntyped as _TypedOrUntyped, UntypedFormBuilder, FormGroup, ControlValueAccessor, Validators, AsyncValidator, UntypedFormArray, FormControl, UntypedFormControl, FormGroupDirective, NgForm, AbstractControl } from '@angular/forms';
2
+ import { OnInit, OnDestroy, Type, PipeTransform, ViewContainerRef, Provider, StaticProvider, Signal, OnChanges, EventEmitter, ChangeDetectorRef, SimpleChanges, ComponentRef, Injector, ApplicationRef, AfterViewInit, InjectionToken } from '@angular/core';
3
+ import * as _angular_forms from '@angular/forms';
4
+ import { UntypedFormGroup, ValidatorFn, AsyncValidatorFn, UntypedFormBuilder, FormGroup, ControlValueAccessor, UntypedFormArray, AbstractControl, FormControl, UntypedFormControl, FormGroupDirective, NgForm } from '@angular/forms';
5
5
  import { Subject, Observable } from 'rxjs';
6
6
  import * as i30 from '@angular/material/core';
7
- import { DateAdapter, MatDateFormats, ErrorStateMatcher } from '@angular/material/core';
7
+ import { ThemePalette, DateAdapter, MatDateFormats, ErrorStateMatcher } from '@angular/material/core';
8
8
  import * as i10 from '@angular/material/form-field';
9
- import { SubscriptSizing, MatFormFieldControl } from '@angular/material/form-field';
9
+ import { SubscriptSizing } from '@angular/material/form-field';
10
10
  import * as i3 from '@angular/material/button';
11
11
  import { MatButtonAppearance } from '@angular/material/button';
12
12
  import * as _3kles_kles_material_color_picker from '@3kles/kles-material-color-picker';
13
13
  import { ColorPickerPosition, ColorOutputFormat, ColorCommitMode } from '@3kles/kles-material-color-picker';
14
- import * as i24 from '@angular/material/checkbox';
15
- import { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';
16
- import * as i16 from '@angular/material/tooltip';
17
- import { MatTooltip } from '@angular/material/tooltip';
18
- import { Clipboard } from '@angular/cdk/clipboard';
14
+ import * as _3kles_kles_material_dynamicforms from '@3kles/kles-material-dynamicforms';
19
15
  import * as i1 from '@angular/common';
20
16
  import * as i2 from '@angular/material/slider';
21
17
  import * as i4 from '@angular/material/toolbar';
@@ -31,6 +27,7 @@ import * as i13 from '@angular/material/radio';
31
27
  import * as i14 from '@angular/material/datepicker';
32
28
  import * as i15 from '@angular/material/chips';
33
29
  import { MatChipInputEvent, MatChipInput } from '@angular/material/chips';
30
+ import * as i16 from '@angular/material/tooltip';
34
31
  import * as i17 from '@angular/material/table';
35
32
  import * as i18 from '@angular/material/paginator';
36
33
  import * as i19 from '@angular/material/card';
@@ -38,6 +35,8 @@ import * as i20 from '@angular/material/menu';
38
35
  import * as i21 from '@angular/material/tabs';
39
36
  import * as i22 from '@angular/cdk/table';
40
37
  import * as i23 from '@angular/material/progress-spinner';
38
+ import * as i24 from '@angular/material/checkbox';
39
+ import { MatCheckboxChange } from '@angular/material/checkbox';
41
40
  import * as i25 from '@angular/material/dialog';
42
41
  import * as i26 from '@angular/material/autocomplete';
43
42
  import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
@@ -50,7 +49,6 @@ import * as i33 from '@angular/material/slide-toggle';
50
49
  import * as i34 from '@angular/material/button-toggle';
51
50
  import * as i35 from '@angular/cdk/portal';
52
51
  import * as i36 from '@angular/cdk/scrolling';
53
- import * as _3kles_kles_material_dynamicforms from '@3kles/kles-material-dynamicforms';
54
52
 
55
53
  type Exclusive<T, U> = (T & {
56
54
  [K in keyof U]?: never;
@@ -74,6 +72,7 @@ declare enum EnumType {
74
72
  select = "select",
75
73
  text = "text",
76
74
  file = "file",
75
+ imageUpload = "imageUpload",
77
76
  button = "button",
78
77
  checkbox = "checkbox",
79
78
  number = "number",
@@ -100,6 +99,67 @@ interface IKlesField {
100
99
  interface IKlesDirective extends OnInit, OnDestroy {
101
100
  }
102
101
 
102
+ /** Contract implemented by components used to render an option or a select trigger. */
103
+ interface IKlesComponent<TValue = unknown> {
104
+ value: TValue;
105
+ }
106
+ /** Angular component type compatible with the dynamic option renderer. */
107
+ type KlesComponentType<TValue = unknown> = Type<IKlesComponent<TValue>>;
108
+
109
+ interface IKlesElementLayoutBreakpoint {
110
+ colSpan?: number;
111
+ rowSpan?: number;
112
+ colStart?: number;
113
+ rowStart?: number;
114
+ }
115
+ interface IKlesElementLayout extends IKlesElementLayoutBreakpoint {
116
+ class?: string | string[];
117
+ responsive?: {
118
+ xs?: IKlesElementLayoutBreakpoint;
119
+ sm?: IKlesElementLayoutBreakpoint;
120
+ md?: IKlesElementLayoutBreakpoint;
121
+ lg?: IKlesElementLayoutBreakpoint;
122
+ xl?: IKlesElementLayoutBreakpoint;
123
+ };
124
+ }
125
+ interface IKlesLayoutConfig {
126
+ /** Number of columns in the grid. Defaults to 12. */
127
+ columns?: number;
128
+ /** CSS gap between grid cells. Defaults to 10px. */
129
+ gap?: string;
130
+ }
131
+ interface IKlesStructuralElement {
132
+ layout?: IKlesElementLayout;
133
+ }
134
+ interface IKlesFormSection extends IKlesStructuralElement {
135
+ type: 'section';
136
+ title: string;
137
+ description?: string;
138
+ /** Material icon displayed before the section title. */
139
+ icon?: string;
140
+ /** Registered Material SVG icon displayed before the section title. */
141
+ iconSvg?: string;
142
+ fields: KlesFormElement[];
143
+ layoutConfig?: IKlesLayoutConfig;
144
+ }
145
+ /** A visual layout group. Unlike an EnumType.group field, it creates no FormGroup. */
146
+ interface IKlesFormLayoutGroup extends IKlesStructuralElement {
147
+ type: 'layoutGroup';
148
+ fields: KlesFormElement[];
149
+ layoutConfig?: IKlesLayoutConfig;
150
+ }
151
+ interface IKlesFormDivider extends IKlesStructuralElement {
152
+ type: 'divider';
153
+ }
154
+ interface IKlesFormSpacer extends IKlesStructuralElement {
155
+ type: 'spacer';
156
+ size?: string | number;
157
+ }
158
+ type KlesFormStructuralElement = IKlesFormSection | IKlesFormLayoutGroup | IKlesFormDivider | IKlesFormSpacer;
159
+ type KlesFormElement = IKlesFieldConfig | KlesFormStructuralElement;
160
+ declare function isKlesStructuralElement(element: KlesFormElement): element is KlesFormStructuralElement;
161
+ declare function flattenKlesFields(elements: readonly KlesFormElement[]): IKlesFieldConfig[];
162
+
103
163
  interface IKlesFieldActionEvent<TContext = unknown, TValue = unknown> {
104
164
  actionId: string;
105
165
  value?: TValue;
@@ -125,6 +185,16 @@ interface IKlesCurrencyOptions {
125
185
  useGrouping?: boolean;
126
186
  allowNegative?: boolean;
127
187
  }
188
+ interface IKlesImageUploadOptions {
189
+ /** Taille maximale autorisée, en octets. 2 Mio par défaut. */
190
+ maxFileSize?: number;
191
+ changeLabel?: string;
192
+ deleteLabel?: string;
193
+ emptyIcon?: string;
194
+ uploadIcon?: string;
195
+ invalidTypeMessage?: string;
196
+ maxFileSizeMessage?: string;
197
+ }
128
198
  type KlesStatusTone = 'neutral' | 'info' | 'success' | 'warning' | 'error';
129
199
  type KlesStatusAppearance = 'chip' | 'badge' | 'text';
130
200
  interface IKlesStatusDefinition {
@@ -170,7 +240,7 @@ interface IKlesFieldUi {
170
240
  ngClass?: any;
171
241
  ngStyle?: any;
172
242
  indeterminate?: boolean;
173
- color?: string;
243
+ color?: ThemePalette;
174
244
  icon?: string;
175
245
  iconSvg?: string;
176
246
  appearance?: 'fill' | 'outline';
@@ -219,19 +289,18 @@ interface IKlesFormField {
219
289
  name: string;
220
290
  component?: Type<any>;
221
291
  id?: string;
222
- copyTooltip?: string;
223
292
  options?: any[] | Subject<any[]> | Observable<any[]> | ((value?: string, group?: {
224
293
  [key: string]: any;
225
294
  }) => Observable<any[]>);
226
295
  search?: boolean | IKlesSelectSearchOptions;
227
296
  property?: string;
228
- collections?: any;
297
+ collections?: IKlesFieldConfig[];
229
298
  value?: any;
230
299
  asyncValue?: Observable<any>;
231
300
  multiple?: boolean;
232
301
  disabled?: boolean;
233
302
  autocomplete?: boolean;
234
- autocompleteComponent?: Type<any>;
303
+ autocompleteComponent?: KlesComponentType<any>;
235
304
  displayWith?: ((value: any) => string) | null;
236
305
  panelWidth?: string | number;
237
306
  pending?: boolean;
@@ -242,7 +311,7 @@ interface IKlesFormField {
242
311
  options?: any[];
243
312
  }[];
244
313
  valueChanges?: (field: IKlesFieldConfig, group: UntypedFormGroup, siblingField?: IKlesFieldConfig[], valueChanged?: any) => void;
245
- triggerComponent?: Type<any>;
314
+ triggerComponent?: KlesComponentType<any>;
246
315
  searchKeys?: string[];
247
316
  updateOn?: 'change' | 'blur' | 'submit';
248
317
  debounceTime?: number;
@@ -250,6 +319,7 @@ interface IKlesFormField {
250
319
  lazy?: boolean;
251
320
  buttonType?: 'submit' | 'button' | 'reset';
252
321
  accept?: string;
322
+ imageUploadOptions?: IKlesImageUploadOptions;
253
323
  dateOptions?: {
254
324
  adapter?: {
255
325
  class: Type<DateAdapter<any>>;
@@ -269,15 +339,27 @@ interface IKlesFormField {
269
339
  providers?: Array<Provider | StaticProvider>;
270
340
  onAction?: (event: IKlesFieldActionEvent<any, any>) => void;
271
341
  statusOptions?: IKlesStatusOptions;
342
+ /** Position of this field in an advanced CSS Grid container. */
343
+ layout?: IKlesElementLayout;
272
344
  }
273
345
  type IKlesFieldConfig = IKlesFormField & IKlesFieldUi;
274
346
 
347
+ /** Selects the untyped result when T is `any`, otherwise the typed result. */
348
+ type KlesTypedOrUntyped<T, TTyped, TUntyped> = 0 extends 1 & T ? TUntyped : TTyped;
349
+ type KlesPathSegment = string | number;
350
+ type KlesTokenize<TPath extends string> = TPath extends `${infer THead}.${infer TTail}` ? [THead, ...KlesTokenize<TTail>] : [TPath];
351
+ type KlesCoercePathSegment<TSegment> = TSegment extends `${infer TIndex extends number}` ? TIndex : TSegment;
352
+ type KlesProperty<TValue, TKey> = TValue extends unknown ? KlesCoercePathSegment<TKey> extends keyof TValue ? TValue[KlesCoercePathSegment<TKey>] : never : never;
353
+ type KlesNavigate<TValue, TPath extends readonly KlesPathSegment[]> = number extends TPath['length'] ? any : TPath extends readonly [infer THead extends KlesPathSegment, ...infer TTail extends KlesPathSegment[]] ? KlesNavigate<KlesProperty<TValue, THead>, TTail> : TValue;
354
+ /** Resolves the value located at a dot-separated path or an array of path segments. */
355
+ type KlesGetProperty<TValue, TPath> = KlesTypedOrUntyped<TValue, TPath extends string ? string extends TPath ? any : KlesNavigate<TValue, KlesTokenize<TPath>> : TPath extends readonly KlesPathSegment[] ? KlesNavigate<TValue, TPath> : never, any>;
356
+
275
357
  declare abstract class AbstractUiState<TValue = any, TRawValue extends TValue = TValue> {
276
- protected _value: i0.WritableSignal<TValue>;
358
+ protected _value: i0.WritableSignal<TValue | undefined>;
277
359
  private _parent;
278
360
  private _parentKey;
279
- get<P extends string | readonly (string | number)[]>(path: P): AbstractUiState<_GetProperty<TRawValue, P>> | null;
280
- get<P extends string | Array<string | number>>(path: P): AbstractUiState<_GetProperty<TRawValue, P>> | null;
361
+ get<P extends string | readonly (string | number)[]>(path: P): AbstractUiState<KlesGetProperty<TRawValue, P>> | null;
362
+ get<P extends string | Array<string | number>>(path: P): AbstractUiState<KlesGetProperty<TRawValue, P>> | null;
281
363
  _find(name: string | number): AbstractUiState | null;
282
364
  abstract setValue(value: TRawValue): void;
283
365
  abstract patchValue(value: Partial<TValue>): void;
@@ -290,7 +372,7 @@ declare abstract class AbstractUiState<TValue = any, TRawValue extends TValue =
290
372
  declare class GroupUiState<TUiState extends {
291
373
  [K in keyof TUiState]: AbstractUiState<any>;
292
374
  } = any> extends AbstractUiState<any, any> {
293
- states: _TypedOrUntyped<TUiState, TUiState, {
375
+ states: KlesTypedOrUntyped<TUiState, TUiState, {
294
376
  [key: string]: AbstractUiState<any>;
295
377
  }>;
296
378
  constructor(states?: TUiState);
@@ -306,25 +388,33 @@ declare class KlesDynamicFormComponent implements OnInit, OnChanges {
306
388
  private fb;
307
389
  private ref;
308
390
  context: Signal<unknown | null> | null;
309
- fields: IKlesFieldConfig[];
391
+ fields: KlesFormElement[];
310
392
  validators: IKlesValidator<ValidatorFn>[];
311
393
  asyncValidators: IKlesValidator<AsyncValidatorFn>[];
312
394
  submit: EventEmitter<any>;
313
395
  _onLoaded: EventEmitter<any>;
314
396
  direction: 'column' | 'row' | 'grid' | 'inline-grid';
315
397
  wrap: boolean;
398
+ /** Configuration of the advanced grid container. */
399
+ layout: IKlesLayoutConfig;
316
400
  formClass: string | string[] | Set<string> | {
317
401
  [klass: string]: any;
318
402
  };
319
403
  form: UntypedFormGroup;
320
404
  ui: GroupUiState;
321
- orientationClass: 'dynamic-form-column' | 'dynamic-form-row' | 'dynamic-form-grid' | 'dynamic-form-inline-grid';
405
+ private flattenedSource;
406
+ private flattenedFields;
407
+ private readonly layoutWarnings;
408
+ get orientationClass(): 'dynamic-form-column' | 'dynamic-form-row' | 'dynamic-form-grid' | 'dynamic-form-inline-grid';
322
409
  get value(): any;
410
+ get legacyFields(): IKlesFieldConfig[];
411
+ get usesAdvancedLayout(): boolean;
412
+ get gridStyles(): Record<string, string | number> | null;
413
+ private get hasRootElementLayout();
323
414
  constructor(fb: UntypedFormBuilder, ref: ChangeDetectorRef);
324
415
  ngOnInit(): void;
325
416
  ngOnChanges(changes: SimpleChanges): void;
326
417
  onSubmit(event: Event): void;
327
- private setOrientationClass;
328
418
  private updateForm;
329
419
  private updateControl;
330
420
  private createControl;
@@ -332,22 +422,24 @@ declare class KlesDynamicFormComponent implements OnInit, OnChanges {
332
422
  private createForm;
333
423
  private validateAllFormFields;
334
424
  private createUi;
425
+ private normalizeColumns;
335
426
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesDynamicFormComponent, never>;
336
- static ɵcmp: i0.ɵɵComponentDeclaration<KlesDynamicFormComponent, "app-kles-dynamic-form", ["klesDynamicForm"], { "context": { "alias": "context"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "validators": { "alias": "validators"; "required": false; }; "asyncValidators": { "alias": "asyncValidators"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; "formClass": { "alias": "formClass"; "required": false; }; }, { "submit": "submit"; "_onLoaded": "_onLoaded"; }, never, never, true, never>;
427
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesDynamicFormComponent, "app-kles-dynamic-form", ["klesDynamicForm"], { "context": { "alias": "context"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "validators": { "alias": "validators"; "required": false; }; "asyncValidators": { "alias": "asyncValidators"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "formClass": { "alias": "formClass"; "required": false; }; }, { "submit": "submit"; "_onLoaded": "_onLoaded"; }, never, never, true, never>;
337
428
  }
338
429
 
339
- declare class KlesComponentDirective implements OnInit, OnChanges {
430
+ declare class KlesComponentDirective<TValue = unknown> implements OnInit, OnChanges, OnDestroy {
340
431
  private container;
341
- component: Type<any>;
342
- value: any;
343
- field?: IKlesFieldConfig;
344
- componentRef: ComponentRef<any>;
432
+ component: KlesComponentType<TValue>;
433
+ value: TValue;
434
+ field: IKlesFieldConfig;
435
+ componentRef?: ComponentRef<IKlesComponent<TValue>>;
345
436
  constructor(container: ViewContainerRef);
346
437
  ngOnInit(): void;
347
438
  ngOnChanges(changes: SimpleChanges): void;
348
- buildComponent(): void;
349
- static ɵfac: i0.ɵɵFactoryDeclaration<KlesComponentDirective, never>;
350
- static ɵdir: i0.ɵɵDirectiveDeclaration<KlesComponentDirective, "[klesComponent]", never, { "component": { "alias": "component"; "required": false; }; "value": { "alias": "value"; "required": false; }; "field": { "alias": "field"; "required": false; }; }, {}, never, never, true, never>;
439
+ ngOnDestroy(): void;
440
+ private buildComponent;
441
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesComponentDirective<any>, never>;
442
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KlesComponentDirective<any>, "[klesComponent]", never, { "component": { "alias": "component"; "required": true; }; "value": { "alias": "value"; "required": true; }; "field": { "alias": "field"; "required": true; }; }, {}, never, never, true, never>;
351
443
  }
352
444
 
353
445
  declare class KlesDynamicFieldDirective<T extends IKlesFieldConfig = IKlesFieldConfig> implements OnInit, OnChanges, OnDestroy {
@@ -375,34 +467,42 @@ declare class KlesDynamicFieldDirective<T extends IKlesFieldConfig = IKlesFieldC
375
467
  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; }; "context": { "alias": "context"; "required": false; }; }, {}, never, never, true, never>;
376
468
  }
377
469
 
470
+ declare class KlesFocusTargetDirective {
471
+ private readonly element;
472
+ focus(): void;
473
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesFocusTargetDirective, never>;
474
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KlesFocusTargetDirective, "[klesFocusTarget]", never, {}, {}, never, never, true, never>;
475
+ }
476
+
378
477
  declare abstract class KlesFieldAbstract<TContext = unknown> implements IKlesField, OnInit, AfterViewInit, OnDestroy {
379
478
  readonly field: IKlesFieldConfig;
380
479
  readonly group: FormGroup<any>;
381
480
  readonly siblingFields: IKlesFieldConfig[];
382
- readonly ui: GroupUiState<any>;
481
+ readonly ui: GroupUiState<any> | null;
383
482
  readonly context: Signal<TContext | null> | null;
384
483
  protected readonly fieldUi: Signal<any>;
385
484
  protected readonly resolvedFieldUi: Signal<IKlesFieldUi>;
386
485
  readonly appearance: Signal<"fill" | "outline">;
387
- readonly inputType: Signal<"number" | "date" | "email" | "submit" | "search" | "reset" | "text" | "file" | "button" | "checkbox" | "time" | "color" | "range" | "datetime-local" | "hidden" | "image" | "month" | "password" | "radio" | "tel" | "url" | "week">;
388
- readonly min: Signal<number | Date>;
389
- readonly max: Signal<number | Date>;
486
+ readonly inputType: Signal<"number" | "text" | "image" | "url" | "search" | "date" | "email" | "submit" | "reset" | "file" | "button" | "checkbox" | "time" | "color" | "range" | "datetime-local" | "hidden" | "month" | "password" | "radio" | "tel" | "week">;
487
+ readonly min: Signal<number | Date | undefined>;
488
+ readonly max: Signal<number | Date | undefined>;
390
489
  readonly maxLength: Signal<number>;
391
- readonly step: Signal<number>;
490
+ readonly step: Signal<number | undefined>;
392
491
  readonly ngClass: Signal<any>;
393
492
  readonly ngStyle: Signal<any>;
394
493
  readonly indeterminate: Signal<boolean>;
395
- readonly color: Signal<string>;
494
+ readonly color: Signal<"primary" | "accent" | "warn">;
396
495
  readonly icon: Signal<string>;
397
496
  readonly iconSvg: Signal<string>;
398
497
  readonly buttonAppearance: Signal<i3.MatButtonAppearance>;
399
498
  readonly label: Signal<string>;
400
- readonly hint: Signal<string>;
499
+ readonly hint: Signal<string | undefined>;
401
500
  readonly placeholder: Signal<any>;
402
- readonly tooltip: Signal<string>;
403
- readonly imageUrl: Signal<string>;
501
+ readonly tooltip: Signal<string | undefined>;
502
+ readonly imageUrl: Signal<string | undefined>;
404
503
  readonly imageAlt: Signal<string>;
405
504
  protected readonly viewRef: ViewContainerRef;
505
+ protected readonly focusTarget: Signal<KlesFocusTargetDirective | undefined>;
406
506
  directive: any;
407
507
  protected _onDestroy: Subject<void>;
408
508
  constructor();
@@ -410,9 +510,10 @@ declare abstract class KlesFieldAbstract<TContext = unknown> implements IKlesFie
410
510
  ngAfterViewInit(): void;
411
511
  ngOnDestroy(): void;
412
512
  applyPipeTransform(): void;
413
- isPending(): boolean;
513
+ isPending(): boolean | undefined;
414
514
  onFocus(): void;
415
515
  onBlur(): void;
516
+ protected focus(): void;
416
517
  triggerAction(actionId: string, originalEvent: Event, value?: unknown): void;
417
518
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFieldAbstract<any>, never>;
418
519
  static ɵdir: i0.ɵɵDirectiveDeclaration<KlesFieldAbstract<any>, never, never, {}, {}, never, never, true, never>;
@@ -427,7 +528,7 @@ declare class KlesFormLabelComponent extends KlesFieldAbstract implements OnInit
427
528
  }
428
529
 
429
530
  interface IButton {
430
- event?: any;
531
+ event?: string;
431
532
  uiButton?: IUIButton;
432
533
  }
433
534
  interface IUIButton {
@@ -441,31 +542,42 @@ interface IUIButton {
441
542
  accept?: string;
442
543
  buttonAppearance?: MatButtonAppearance;
443
544
  }
444
- declare abstract class KlesButtonBase implements OnInit, ControlValueAccessor {
445
- name: string;
446
- label: string;
447
- color: string;
448
- icon: string;
449
- iconSvg: string;
450
- disabled: boolean;
451
- get type(): any;
452
- set type(value: any);
453
- classButton: string;
454
- value: IButton;
455
- tooltip?: string;
456
- buttonAppearance: MatButtonAppearance;
545
+ declare abstract class KlesButtonBase<TButton extends IButton = IButton> implements OnInit, ControlValueAccessor {
546
+ readonly name: i0.InputSignal<string>;
547
+ readonly label: i0.InputSignal<string>;
548
+ readonly color: i0.InputSignal<string>;
549
+ readonly icon: i0.InputSignal<string>;
550
+ readonly iconSvg: i0.InputSignal<string>;
551
+ readonly disabled: i0.InputSignal<boolean>;
552
+ readonly type: i0.InputSignal<string | undefined>;
553
+ readonly classButton: i0.InputSignal<string>;
554
+ readonly value: i0.InputSignal<TButton>;
555
+ readonly tooltip: i0.InputSignal<string | undefined>;
556
+ readonly buttonAppearance: i0.InputSignal<MatButtonAppearance>;
557
+ protected readonly uiButtonState: i0.WritableSignal<IUIButton | undefined>;
558
+ private readonly formDisabledState;
559
+ private readonly writtenValueState;
560
+ readonly effectiveLabel: i0.Signal<string>;
561
+ readonly effectiveColor: i0.Signal<string>;
562
+ readonly effectiveIcon: i0.Signal<string>;
563
+ readonly effectiveIconSvg: i0.Signal<string>;
564
+ readonly effectiveDisabled: i0.Signal<boolean>;
565
+ readonly effectiveType: i0.Signal<string>;
566
+ readonly effectiveClassButton: i0.Signal<string>;
567
+ readonly effectiveButtonAppearance: i0.Signal<MatButtonAppearance>;
568
+ readonly effectiveValue: i0.Signal<TButton>;
457
569
  action: EventEmitter<MouseEvent>;
458
- protected _type: string;
459
- onChange: any;
460
- onTouched: any;
570
+ protected onChange: (value: TButton) => void;
571
+ protected onTouched: () => void;
461
572
  ngOnInit(): void;
462
573
  click(event: MouseEvent): void;
463
- writeValue(value: IButton): void;
464
- registerOnChange(fn: any): void;
465
- registerOnTouched(fn: any): void;
574
+ writeValue(value: TButton | null | undefined): void;
575
+ registerOnChange(fn: (value: TButton) => void): void;
576
+ registerOnTouched(fn: () => void): void;
577
+ protected markAsTouched(): void;
466
578
  setDisabledState?(isDisabled: boolean): void;
467
- static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonBase, never>;
468
- 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>;
579
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonBase<any>, never>;
580
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonBase<any>, "ng-component", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSvg": { "alias": "iconSvg"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "classButton": { "alias": "classButton"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "buttonAppearance": { "alias": "buttonAppearance"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, true, never>;
469
581
  }
470
582
 
471
583
  declare class KlesButtonComponent extends KlesButtonBase implements OnInit {
@@ -473,8 +585,35 @@ declare class KlesButtonComponent extends KlesButtonBase implements OnInit {
473
585
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonComponent, "kles-button", never, {}, {}, never, never, true, never>;
474
586
  }
475
587
 
588
+ interface IButtonChecker extends IButton {
589
+ busy: boolean;
590
+ error?: any[];
591
+ message?: string;
592
+ }
593
+ declare class KlesButtonCheckerComponent extends KlesButtonBase<IButtonChecker> implements ControlValueAccessor {
594
+ countError(): number;
595
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonCheckerComponent, never>;
596
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonCheckerComponent, "kles-button-checker", never, {}, {}, never, never, true, never>;
597
+ }
598
+
599
+ interface IButtonFile extends IButton {
600
+ fileContent?: string | ArrayBuffer | (string | ArrayBuffer)[] | null;
601
+ }
602
+ declare class KlesButtonFileComponent extends KlesButtonBase<IButtonFile> {
603
+ private readonly file;
604
+ readonly accept: i0.InputSignal<string>;
605
+ readonly effectiveAccept: i0.Signal<string>;
606
+ click(_event: MouseEvent): void;
607
+ writeValue(value: IButtonFile | null | undefined): void;
608
+ onFileSelect(input: HTMLInputElement): Promise<void>;
609
+ readUploadedFile(inputFile: File): Promise<string | ArrayBuffer | null>;
610
+ private resetNativeFileInput;
611
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonFileComponent, never>;
612
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonFileComponent, "kles-button-file", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
613
+ }
614
+
476
615
  declare class KlesTransformPipe implements PipeTransform {
477
- transform(value: any, pipes: {
616
+ transform(value: any, pipes?: {
478
617
  pipe: PipeTransform;
479
618
  options?: any[];
480
619
  }[]): any;
@@ -492,90 +631,93 @@ interface IKlesClearControl extends IKlesField {
492
631
  clear(event: any): void;
493
632
  }
494
633
 
495
- declare class KlesFormClearComponent implements IKlesClearControl, OnDestroy {
634
+ declare class KlesFormClearComponent implements IKlesClearControl {
496
635
  readonly field: IKlesFieldConfig;
497
636
  readonly group: FormGroup<any>;
498
637
  readonly siblingFields: IKlesFieldConfig[];
499
- private _onDestroy;
500
638
  disabled: Signal<boolean>;
501
639
  constructor();
502
- ngOnDestroy(): void;
503
- clear(event: any): void;
640
+ clear(event: MouseEvent): void;
504
641
  private isPresent;
505
642
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormClearComponent, never>;
506
643
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormClearComponent, "kles-form-clear", never, {}, {}, never, never, true, never>;
507
644
  }
508
645
 
509
646
  declare class MatErrorMessageDirective implements AfterViewInit {
510
- private _inj;
511
- validationsKeys: KlesValidationKey[];
512
- asyncValidationsKeys: KlesValidationKey[];
513
- set validations(v: IKlesValidator<Validators>[]);
514
- set asyncValidations(v: IKlesValidator<AsyncValidator>[]);
515
- inputRef: MatFormFieldControl<MatFormFieldControl<any>>;
516
- constructor(_inj: Injector);
647
+ readonly validations: i0.InputSignal<IKlesValidator<ValidatorFn>[] | undefined>;
648
+ readonly asyncValidations: i0.InputSignal<IKlesValidator<AsyncValidatorFn>[] | undefined>;
649
+ readonly validationsKeys: i0.Signal<_3kles_kles_material_dynamicforms.KlesValidationKey[]>;
650
+ readonly asyncValidationsKeys: i0.Signal<_3kles_kles_material_dynamicforms.KlesValidationKey[]>;
651
+ private readonly formField;
652
+ private readonly inputRef;
653
+ private readonly controlStatus;
654
+ readonly errors: i0.Signal<_angular_forms.ValidationErrors | null>;
517
655
  ngAfterViewInit(): void;
518
656
  static ɵfac: i0.ɵɵFactoryDeclaration<MatErrorMessageDirective, never>;
519
- static ɵcmp: i0.ɵɵComponentDeclaration<MatErrorMessageDirective, "[matErrorMessage]", never, { "validations": { "alias": "validations"; "required": false; }; "asyncValidations": { "alias": "asyncValidations"; "required": false; }; }, {}, never, never, true, never>;
657
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatErrorMessageDirective, "[matErrorMessage]", never, { "validations": { "alias": "validations"; "required": false; "isSignal": true; }; "asyncValidations": { "alias": "asyncValidations"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
520
658
  }
521
659
 
522
660
  declare class MatErrorFormDirective {
523
- validationsKeys: KlesValidationKey[];
524
- asyncValidationsKeys: KlesValidationKey[];
525
- form: UntypedFormGroup;
526
- set validations(v: IKlesValidator<Validators>[]);
527
- set asyncValidations(v: IKlesValidator<AsyncValidator>[]);
661
+ readonly form: i0.InputSignal<UntypedFormGroup>;
662
+ readonly validations: i0.InputSignal<IKlesValidator<ValidatorFn>[]>;
663
+ readonly asyncValidations: i0.InputSignal<IKlesValidator<AsyncValidatorFn>[]>;
664
+ readonly validationsKeys: i0.Signal<_3kles_kles_material_dynamicforms.KlesValidationKey[]>;
665
+ readonly asyncValidationsKeys: i0.Signal<_3kles_kles_material_dynamicforms.KlesValidationKey[]>;
666
+ readonly formErrors: i0.Signal<_angular_forms.ValidationErrors | null>;
528
667
  static ɵfac: i0.ɵɵFactoryDeclaration<MatErrorFormDirective, never>;
529
- static ɵcmp: i0.ɵɵComponentDeclaration<MatErrorFormDirective, "[matErrorForm]", never, { "form": { "alias": "form"; "required": true; }; "validations": { "alias": "validations"; "required": false; }; "asyncValidations": { "alias": "asyncValidations"; "required": false; }; }, {}, never, never, true, never>;
530
- }
531
-
532
- declare class KlesIndeterminateCheckboxComponent implements ControlValueAccessor, AfterViewInit {
533
- label: string;
534
- color: string;
535
- checkbox: MatCheckbox;
536
- isIndeterminate: boolean;
537
- private innerValue;
538
- onChange: any;
539
- onTouched: any;
540
- ngAfterViewInit(): void;
541
- writeValue(value: any): void;
542
- registerOnChange(fn: any): void;
543
- registerOnTouched(fn: any): void;
544
- setDisabledState?(isDisabled: boolean): void;
545
- onCheckboxChange(event: any): void;
546
- private updateCheckbox;
547
- static ɵfac: i0.ɵɵFactoryDeclaration<KlesIndeterminateCheckboxComponent, never>;
548
- static ɵcmp: i0.ɵɵComponentDeclaration<KlesIndeterminateCheckboxComponent, "kles-checkbox-indeterminate", never, { "label": { "alias": "label"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
668
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatErrorFormDirective, "[matErrorForm]", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "validations": { "alias": "validations"; "required": false; "isSignal": true; }; "asyncValidations": { "alias": "asyncValidations"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
549
669
  }
550
670
 
551
671
  declare class KlesFileControlComponent implements ControlValueAccessor {
552
- disabled: boolean;
672
+ private readonly fileInput;
673
+ private readonly disabledState;
674
+ get disabled(): boolean;
675
+ set disabled(value: boolean);
553
676
  accept: string;
554
677
  multiple: boolean;
555
- value: {
556
- name: string;
557
- content: ArrayBuffer;
558
- }[];
559
- onChange: any;
560
- onTouched: any;
561
- writeValue(obj: any): void;
678
+ value: KlesFileControlValue;
679
+ private onChange;
680
+ private onTouched;
681
+ writeValue(value: KlesFileControlValue | undefined): void;
562
682
  onFileSelected(input: HTMLInputElement): Promise<void>;
563
- registerOnChange(fn: any): void;
564
- registerOnTouched(fn: any): void;
683
+ registerOnChange(fn: (value: KlesFileControlValue) => void): void;
684
+ registerOnTouched(fn: () => void): void;
685
+ markAsTouched(): void;
565
686
  setDisabledState?(isDisabled: boolean): void;
566
687
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFileControlComponent, never>;
567
688
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFileControlComponent, "kles-file-control", never, { "disabled": { "alias": "disabled"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; }, {}, never, never, true, never>;
568
689
  }
690
+ interface KlesFileValue {
691
+ name: string;
692
+ content: ArrayBuffer;
693
+ type?: string;
694
+ size?: number;
695
+ }
696
+ type KlesFileControlValue = KlesFileValue[] | null;
697
+
698
+ declare class KlesDynamicFormIntl {
699
+ loading: string;
700
+ selectAll: string;
701
+ clearSearch: string;
702
+ search: string;
703
+ copy: string;
704
+ imageUploadChange: string;
705
+ imageUploadDelete: string;
706
+ imageUploadInvalidType: string;
707
+ imageUploadMaxSize: string;
708
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesDynamicFormIntl, never>;
709
+ static ɵprov: i0.ɵɵInjectableDeclaration<KlesDynamicFormIntl>;
710
+ }
569
711
 
570
712
  declare class KlesFormCopyComponent implements IKlesField {
571
- private clipBoard;
572
- tooltip: MatTooltip;
713
+ private readonly tooltip;
573
714
  readonly field: IKlesFieldConfig;
574
715
  readonly group: FormGroup<any>;
575
716
  readonly siblingFields: IKlesFieldConfig[];
576
- tooltipText: string;
577
- constructor(clipBoard: Clipboard);
578
- copy(event: any): void;
717
+ readonly intl: KlesDynamicFormIntl;
718
+ private readonly clipboard;
719
+ readonly tooltipText: string;
720
+ copy(event: MouseEvent): void;
579
721
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormCopyComponent, never>;
580
722
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormCopyComponent, "kles-form-copy", never, {}, {}, never, never, true, never>;
581
723
  }
@@ -586,15 +728,6 @@ declare class MaterialModule {
586
728
  static ɵinj: i0.ɵɵInjectorDeclaration<MaterialModule>;
587
729
  }
588
730
 
589
- declare class KlesDynamicFormIntl {
590
- loading: string;
591
- selectAll: string;
592
- clearSearch: string;
593
- search: string;
594
- static ɵfac: i0.ɵɵFactoryDeclaration<KlesDynamicFormIntl, never>;
595
- static ɵprov: i0.ɵɵInjectableDeclaration<KlesDynamicFormIntl>;
596
- }
597
-
598
731
  declare class KlesFormInputComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
599
732
  filteredOption$: Observable<{
600
733
  loading: boolean;
@@ -642,18 +775,6 @@ declare class KlesFormButtonComponent extends KlesFieldAbstract implements OnIni
642
775
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormButtonComponent, "kles-form-button", never, {}, {}, never, never, true, never>;
643
776
  }
644
777
 
645
- interface IButtonChecker extends IButton {
646
- busy: boolean;
647
- error?: any[];
648
- message?: string;
649
- }
650
- declare class KlesButtonCheckerComponent extends KlesButtonBase implements ControlValueAccessor {
651
- value: IButtonChecker;
652
- countError(): number;
653
- static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonCheckerComponent, never>;
654
- static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonCheckerComponent, "kles-button-checker", never, {}, {}, never, never, true, never>;
655
- }
656
-
657
778
  declare class KlesFormButtonCheckerComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
658
779
  ngOnInit(): void;
659
780
  ngOnDestroy(): void;
@@ -661,24 +782,6 @@ declare class KlesFormButtonCheckerComponent extends KlesFieldAbstract implement
661
782
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormButtonCheckerComponent, "kles-form-button-checker", never, {}, {}, never, never, true, never>;
662
783
  }
663
784
 
664
- interface IButtonFile extends IButton {
665
- fileContent?: string | string[];
666
- }
667
- declare class KlesButtonFileComponent extends KlesButtonBase {
668
- file: any;
669
- accept: string;
670
- fileReader: FileReader;
671
- fileContent: string | string[];
672
- value: IButtonFile;
673
- click(event: any): void;
674
- writeValue(value: IButton): void;
675
- onFileLoad(fileLoadedEvent: any): void;
676
- onFileSelect(input: HTMLInputElement): Promise<void>;
677
- readUploadedFile(inputFile: any): Promise<any>;
678
- static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonFileComponent, never>;
679
- static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonFileComponent, "kles-button-file", never, { "accept": { "alias": "accept"; "required": false; }; }, {}, never, never, true, never>;
680
- }
681
-
682
785
  declare class KlesFormButtonFileComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
683
786
  ngOnInit(): void;
684
787
  ngOnDestroy(): void;
@@ -699,6 +802,8 @@ declare class KlesFormDateTimeComponent extends KlesFieldAbstract {
699
802
  }
700
803
 
701
804
  declare class KlesFormRadioComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
805
+ private readonly radioButtons;
806
+ protected focus(): void;
702
807
  options$: Observable<any[]>;
703
808
  ngOnInit(): void;
704
809
  ngOnDestroy(): void;
@@ -707,6 +812,8 @@ declare class KlesFormRadioComponent extends KlesFieldAbstract implements OnInit
707
812
  }
708
813
 
709
814
  declare class KlesFormCheckboxComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
815
+ private readonly checkbox;
816
+ protected focus(): void;
710
817
  ngOnInit(): void;
711
818
  ngOnDestroy(): void;
712
819
  onChange(e: MatCheckboxChange): void;
@@ -714,16 +821,9 @@ declare class KlesFormCheckboxComponent extends KlesFieldAbstract implements OnI
714
821
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormCheckboxComponent, "kles-form-checkbox", never, {}, {}, never, never, true, never>;
715
822
  }
716
823
 
717
- declare class KlesFormCheckboxIndeterminateComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
718
- ngOnInit(): void;
719
- ngOnDestroy(): void;
720
- static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormCheckboxIndeterminateComponent, never>;
721
- static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormCheckboxIndeterminateComponent, "kles-form-checkbox-indeterminate", never, {}, {}, never, never, true, never>;
722
- }
723
-
724
824
  declare class KlesFormListFieldComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
725
825
  formArray: UntypedFormArray;
726
- collections: IKlesFieldConfig[][];
826
+ readonly collections: i0.WritableSignal<IKlesFieldConfig[][]>;
727
827
  private fb;
728
828
  ngOnInit(): void;
729
829
  private createFormGroup;
@@ -741,7 +841,7 @@ declare class KlesFormColorComponent extends KlesFieldAbstract {
741
841
  private readonly controlValue;
742
842
  private readonly controlStatus;
743
843
  readonly colorOption: i0.Signal<any>;
744
- readonly parsedColor: i0.Signal<_3kles_kles_material_color_picker.RgbaColor>;
844
+ readonly parsedColor: i0.Signal<_3kles_kles_material_color_picker.RgbaColor | null>;
745
845
  readonly currentColor: i0.Signal<any>;
746
846
  readonly backgroundColor: i0.Signal<string>;
747
847
  readonly foregroundColor: i0.Signal<"#000000" | "#ffffff">;
@@ -773,13 +873,12 @@ declare class KlesFormChipComponent extends KlesFieldAbstract implements OnInit,
773
873
  }
774
874
 
775
875
  declare class KlesFormGroupComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
776
- orientationClass: 'group-container' | 'group-container-column' | 'group-container-row' | 'group-container-grid' | 'group-container-inline-grid';
876
+ private readonly orientationClass;
777
877
  get className(): string;
778
878
  subGroup: UntypedFormGroup;
779
879
  subUi: GroupUiState;
780
880
  ngOnInit(): void;
781
881
  ngOnDestroy(): void;
782
- private setOrientationClass;
783
882
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormGroupComponent, never>;
784
883
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormGroupComponent, "kles-group", never, {}, {}, never, never, true, never>;
785
884
  }
@@ -806,6 +905,8 @@ declare class KlesFormLinkComponent extends KlesFieldAbstract implements OnInit,
806
905
  }
807
906
 
808
907
  declare class KlesFormSlideToggleComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
908
+ private readonly slideToggle;
909
+ protected focus(): void;
809
910
  ngOnInit(): void;
810
911
  ngOnDestroy(): void;
811
912
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormSlideToggleComponent, never>;
@@ -819,7 +920,8 @@ declare class KlesFormSlideToggleComponent extends KlesFieldAbstract implements
819
920
  declare class KlesSelectionModel<T> {
820
921
  private _multiple;
821
922
  private _emitChanges;
822
- compareWith?: (o1: T, o2: T) => boolean;
923
+ compareWith?: ((o1: T, o2: T) => boolean) | undefined;
924
+ private readonly _revision;
823
925
  /** Currently-selected values. */
824
926
  private _selection;
825
927
  /** Keeps track of the deselected options that haven't been emitted by the change event. */
@@ -832,7 +934,7 @@ declare class KlesSelectionModel<T> {
832
934
  get selected(): T[];
833
935
  /** Event emitted when the value has changed. */
834
936
  readonly changed: Subject<any>;
835
- constructor(_multiple?: boolean, initiallySelectedValues?: T[], _emitChanges?: boolean, compareWith?: (o1: T, o2: T) => boolean);
937
+ constructor(_multiple?: boolean, initiallySelectedValues?: T[], _emitChanges?: boolean, compareWith?: ((o1: T, o2: T) => boolean) | undefined);
836
938
  /**
837
939
  * Selects a value or an array of values.
838
940
  * @param values The values to select
@@ -917,6 +1019,9 @@ declare class KlesSelectionModel<T> {
917
1019
  declare class KlesFormSelectionListComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
918
1020
  selection: KlesSelectionModel<any>;
919
1021
  options$: Observable<any[]>;
1022
+ private readonly control;
1023
+ private readonly controlStatus;
1024
+ readonly disabled: i0.Signal<boolean>;
920
1025
  ngOnInit(): void;
921
1026
  ngOnDestroy(): void;
922
1027
  onSelectionChange(selection: MatSelectionListChange): void;
@@ -925,6 +1030,8 @@ declare class KlesFormSelectionListComponent extends KlesFieldAbstract implement
925
1030
  }
926
1031
 
927
1032
  declare class KlesFormButtonToogleGroupComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
1033
+ private readonly buttonToggles;
1034
+ protected focus(): void;
928
1035
  options$: Observable<any[]>;
929
1036
  ngOnInit(): void;
930
1037
  ngOnDestroy(): void;
@@ -951,6 +1058,8 @@ declare class KlesFormArrayComponent extends KlesFieldAbstract implements OnInit
951
1058
  subUi: ArrayUiState;
952
1059
  constructor();
953
1060
  ngOnInit(): void;
1061
+ asFormGroup(control: AbstractControl): UntypedFormGroup;
1062
+ uiAt(index: number): GroupUiState;
954
1063
  ngOnDestroy(): void;
955
1064
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormArrayComponent, never>;
956
1065
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormArrayComponent, "kles-array", never, {}, {}, never, never, true, never>;
@@ -1002,11 +1111,15 @@ declare class KlesFormIconButtonComponent extends KlesFieldAbstract implements O
1002
1111
  declare class KlesFormSelectionListSearchComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
1003
1112
  selection: KlesSelectionModel<any>;
1004
1113
  options$: Observable<any[]>;
1005
- searchControl: FormControl<any>;
1114
+ searchControl: FormControl<string | null>;
1006
1115
  optionFiltered$: Observable<any[]>;
1116
+ private readonly control;
1117
+ private readonly controlStatus;
1118
+ readonly disabled: i0.Signal<boolean>;
1007
1119
  ngOnInit(): void;
1008
1120
  ngOnDestroy(): void;
1009
1121
  onSelectionChange(selection: MatSelectionListChange): void;
1122
+ private syncSearchDisabledState;
1010
1123
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormSelectionListSearchComponent, never>;
1011
1124
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormSelectionListSearchComponent, "kles-form-selection-list-search", never, {}, {}, never, never, true, never>;
1012
1125
  }
@@ -1081,11 +1194,7 @@ declare class KlesFormActionMenuComponent<TContext = unknown> extends KlesFieldA
1081
1194
  * Seule la valeur affichée dans l'input est formatée.
1082
1195
  */
1083
1196
  declare class KlesCurrencyValueAccessorDirective implements ControlValueAccessor, OnChanges {
1084
- /**
1085
- * Public pour rester compatible avec le mécanisme
1086
- * nativeElement utilisé par la librairie.
1087
- */
1088
- readonly _elementRef: ElementRef<HTMLInputElement>;
1197
+ private readonly elementRef;
1089
1198
  private readonly renderer;
1090
1199
  currency: string;
1091
1200
  locale: string;
@@ -1127,7 +1236,7 @@ declare class KlesCurrencyValueAccessorDirective implements ControlValueAccessor
1127
1236
  }
1128
1237
  declare class KlesFormCurrencyComponent extends KlesFieldAbstract {
1129
1238
  readonly localeId: string;
1130
- readonly currencyOptions: i0.Signal<_3kles_kles_material_dynamicforms.IKlesCurrencyOptions>;
1239
+ readonly currencyOptions: i0.Signal<_3kles_kles_material_dynamicforms.IKlesCurrencyOptions | undefined>;
1131
1240
  readonly defaultCurrencyCode: string;
1132
1241
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormCurrencyComponent, never>;
1133
1242
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormCurrencyComponent, "kles-form-currency", never, {}, {}, never, ["*"], true, never>;
@@ -1141,7 +1250,7 @@ declare class KlesFormStatusComponent<TContext = unknown> extends KlesFieldAbstr
1141
1250
  readonly showDot: i0.Signal<boolean>;
1142
1251
  readonly disabled: i0.Signal<boolean>;
1143
1252
  readonly pending: i0.Signal<boolean>;
1144
- readonly resolvedStatus: i0.Signal<IKlesStatusDefinition>;
1253
+ readonly resolvedStatus: i0.Signal<IKlesStatusDefinition | null>;
1145
1254
  private resolveStatusKey;
1146
1255
  private resolveDefaultLabel;
1147
1256
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormStatusComponent<any>, never>;
@@ -1153,7 +1262,7 @@ interface ChipOptionsState {
1153
1262
  options: any[];
1154
1263
  }
1155
1264
  declare class KlesFormChipGridComponent extends KlesFieldAbstract implements OnInit {
1156
- readonly control: i2$1.AbstractControl<any, any, any>;
1265
+ readonly control: FormControl<any[]>;
1157
1266
  readonly intl: KlesDynamicFormIntl;
1158
1267
  readonly separatorKeysCodes: number[];
1159
1268
  readonly searchControl: FormControl<any>;
@@ -1175,10 +1284,38 @@ declare class KlesFormChipGridComponent extends KlesFieldAbstract implements OnI
1175
1284
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormChipGridComponent, "kles-form-chip-grid", never, {}, {}, never, never, true, never>;
1176
1285
  }
1177
1286
 
1287
+ declare class KlesFormImageUploadComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
1288
+ readonly intl: KlesDynamicFormIntl;
1289
+ private readonly fileInput;
1290
+ private readonly control;
1291
+ private readonly localPreviewUrl;
1292
+ private readonly imageRemoved;
1293
+ private readonly controlValue;
1294
+ private controlSubscription?;
1295
+ readonly options: i0.Signal<_3kles_kles_material_dynamicforms.IKlesImageUploadOptions>;
1296
+ readonly accept: i0.Signal<string>;
1297
+ readonly disabled: i0.Signal<boolean>;
1298
+ readonly errorMessage: i0.WritableSignal<string | null>;
1299
+ readonly previewUrl: i0.Signal<string | null>;
1300
+ readonly hasImage: i0.Signal<boolean>;
1301
+ ngOnInit(): void;
1302
+ ngOnDestroy(): void;
1303
+ openFilePicker(): void;
1304
+ selectFile(event: Event): Promise<void>;
1305
+ deleteImage(): void;
1306
+ private previewFromValue;
1307
+ private isAccepted;
1308
+ private rejectFile;
1309
+ private clearImageErrors;
1310
+ private clearLocalPreview;
1311
+ static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormImageUploadComponent, never>;
1312
+ static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormImageUploadComponent, "kles-form-image-upload", never, {}, {}, never, never, true, never>;
1313
+ }
1314
+
1178
1315
  declare class KlesMaterialDynamicformsModule {
1179
- 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)[])[];
1316
+ static declarations: ((typeof KlesFormClearComponent | typeof KlesDynamicFormComponent | typeof KlesFormLabelComponent | typeof KlesButtonComponent | typeof KlesButtonCheckerComponent | typeof KlesButtonFileComponent | typeof KlesFileControlComponent | typeof KlesFormCopyComponent)[] | (typeof KlesDynamicFieldDirective | typeof MatErrorFormDirective | typeof KlesComponentDirective | typeof MatErrorMessageDirective)[] | (typeof KlesTransformPipe | typeof ArrayFormatPipe)[])[];
1180
1317
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesMaterialDynamicformsModule, never>;
1181
- static ɵmod: i0.ɵɵNgModuleDeclaration<KlesMaterialDynamicformsModule, never, [typeof i1.CommonModule, typeof i2$1.ReactiveFormsModule, typeof i2$1.FormsModule, typeof MaterialModule, 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 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 KlesFormLineBreakComponent, typeof KlesFormLinkComponent, typeof KlesFormSlideToggleComponent, typeof KlesFormSelectionListComponent, typeof KlesFormButtonToogleGroupComponent, typeof KlesFormArrayComponent, typeof KlesFormRangeComponent, typeof KlesFormClearComponent, 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 KlesFormChipGridComponent, typeof KlesDynamicFieldDirective, typeof KlesComponentDirective, typeof MatErrorMessageDirective, typeof MatErrorFormDirective, typeof KlesTransformPipe, typeof ArrayFormatPipe], [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 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 KlesFormLineBreakComponent, typeof KlesFormLinkComponent, typeof KlesFormSlideToggleComponent, typeof KlesFormSelectionListComponent, typeof KlesFormButtonToogleGroupComponent, typeof KlesFormArrayComponent, typeof KlesFormRangeComponent, typeof KlesFormClearComponent, 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 KlesFormChipGridComponent, typeof KlesTransformPipe, typeof ArrayFormatPipe, typeof KlesDynamicFieldDirective, typeof KlesComponentDirective, typeof MatErrorMessageDirective, typeof MatErrorFormDirective]>;
1318
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KlesMaterialDynamicformsModule, never, [typeof i1.CommonModule, typeof _angular_forms.ReactiveFormsModule, typeof _angular_forms.FormsModule, typeof MaterialModule, 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 KlesFormDateComponent, typeof KlesFormDateTimeComponent, typeof KlesFormRadioComponent, typeof KlesFormCheckboxComponent, typeof KlesFormListFieldComponent, typeof KlesFormColorComponent, typeof KlesFormTextareaComponent, typeof KlesFormTextComponent, typeof KlesFormChipComponent, typeof KlesFormGroupComponent, typeof KlesFormIconComponent, typeof KlesFormLineBreakComponent, typeof KlesFormLinkComponent, typeof KlesFormSlideToggleComponent, typeof KlesFormSelectionListComponent, typeof KlesFormButtonToogleGroupComponent, typeof KlesFormArrayComponent, typeof KlesFormRangeComponent, typeof KlesFormClearComponent, 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 KlesFormChipGridComponent, typeof KlesFormImageUploadComponent, typeof KlesDynamicFieldDirective, typeof KlesComponentDirective, typeof MatErrorMessageDirective, typeof MatErrorFormDirective, typeof KlesTransformPipe, typeof ArrayFormatPipe], [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 KlesFormDateComponent, typeof KlesFormDateTimeComponent, typeof KlesFormRadioComponent, typeof KlesFormCheckboxComponent, typeof KlesFormListFieldComponent, typeof KlesFormColorComponent, typeof KlesFormTextareaComponent, typeof KlesFormTextComponent, typeof KlesFormChipComponent, typeof KlesFormGroupComponent, typeof KlesFormIconComponent, typeof KlesFormLineBreakComponent, typeof KlesFormLinkComponent, typeof KlesFormSlideToggleComponent, typeof KlesFormSelectionListComponent, typeof KlesFormButtonToogleGroupComponent, typeof KlesFormArrayComponent, typeof KlesFormRangeComponent, typeof KlesFormClearComponent, 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 KlesFormChipGridComponent, typeof KlesFormImageUploadComponent, typeof KlesTransformPipe, typeof ArrayFormatPipe, typeof KlesDynamicFieldDirective, typeof KlesComponentDirective, typeof MatErrorMessageDirective, typeof MatErrorFormDirective]>;
1182
1319
  static ɵinj: i0.ɵɵInjectorDeclaration<KlesMaterialDynamicformsModule>;
1183
1320
  }
1184
1321
 
@@ -1186,15 +1323,17 @@ declare class KlesFormPasswordVisibilityComponent implements IKlesField {
1186
1323
  readonly field: IKlesFieldConfig;
1187
1324
  readonly group: FormGroup<any>;
1188
1325
  readonly siblingFields: IKlesFieldConfig[];
1189
- readonly ui: GroupUiState<any>;
1190
- hide: i0.Signal<boolean>;
1191
- toggleVisibility(event: any): void;
1326
+ readonly ui: GroupUiState<any> | null;
1327
+ private readonly control;
1328
+ readonly disabled: i0.Signal<boolean>;
1329
+ readonly hide: i0.Signal<boolean>;
1330
+ toggleVisibility(event: MouseEvent): void;
1192
1331
  static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormPasswordVisibilityComponent, never>;
1193
1332
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormPasswordVisibilityComponent, "kles-form-password-visibility", never, {}, {}, never, never, true, never>;
1194
1333
  }
1195
1334
 
1196
1335
  declare class KlesFormSelectComponent extends KlesFieldAbstract implements OnInit, AfterViewInit, OnDestroy {
1197
- readonly searchControl: FormControl<string>;
1336
+ readonly searchControl: FormControl<string | null>;
1198
1337
  readonly selectAllControl: FormControl<boolean>;
1199
1338
  readonly selectAllIndeterminate: i0.WritableSignal<boolean>;
1200
1339
  readonly isLoading: i0.WritableSignal<boolean>;
@@ -1203,6 +1342,7 @@ declare class KlesFormSelectComponent extends KlesFieldAbstract implements OnIni
1203
1342
  protected readonly changeDetectorRef: ChangeDetectorRef;
1204
1343
  private readonly matSelect;
1205
1344
  private readonly virtualViewport;
1345
+ protected focus(): void;
1206
1346
  searchOptions: IKlesSelectSearchOptions;
1207
1347
  private readonly deferredQuery$;
1208
1348
  private sourceOptions;
@@ -1239,11 +1379,6 @@ declare class KlesFormSelectComponent extends KlesFieldAbstract implements OnIni
1239
1379
  static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormSelectComponent, "kles-form-select", never, {}, {}, never, ["*"], true, never>;
1240
1380
  }
1241
1381
 
1242
- interface IKlesComponent {
1243
- component: Type<any>;
1244
- value: any;
1245
- }
1246
-
1247
1382
  declare class KlesFormErrorStateMatcher implements ErrorStateMatcher {
1248
1383
  constructor();
1249
1384
  isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean;
@@ -1257,12 +1392,12 @@ declare function autocompleteStringValidator(validOptions: Array<string>, option
1257
1392
  declare const componentMapper: {
1258
1393
  component: Type<any>;
1259
1394
  type: string;
1260
- factory: (field: IKlesFieldConfig, ref?: ChangeDetectorRef) => AbstractControl<any, any>;
1261
- ui?: (field: IKlesFieldConfig) => AbstractUiState<any, any>;
1395
+ factory: (field: IKlesFieldConfig, ref?: ChangeDetectorRef) => AbstractControl<any, any> | null;
1396
+ ui: (field: IKlesFieldConfig) => AbstractUiState<any, any>;
1262
1397
  }[];
1263
1398
  declare function FieldMapper(config: {
1264
1399
  type: string;
1265
- factory?: (field: IKlesFieldConfig) => AbstractControl<any, any>;
1400
+ factory?: (field: IKlesFieldConfig) => AbstractControl<any, any> | null;
1266
1401
  ui?: (field: IKlesFieldConfig) => AbstractUiState<any, any>;
1267
1402
  }): (target: Type<any>) => void;
1268
1403
 
@@ -1271,17 +1406,17 @@ declare const klesFieldUiFactory: (field: IKlesFieldConfig) => AbstractUiState;
1271
1406
 
1272
1407
  interface IKlesControl {
1273
1408
  create(): AbstractControl;
1274
- bindValidations(validations: IKlesValidator<ValidatorFn>[]): ValidatorFn;
1275
- bindAsyncValidations(validations: IKlesValidator<AsyncValidatorFn>[]): AsyncValidatorFn;
1409
+ bindValidations(validations: IKlesValidator<ValidatorFn>[]): ValidatorFn | null;
1410
+ bindAsyncValidations(validations: IKlesValidator<AsyncValidatorFn>[]): AsyncValidatorFn | null;
1276
1411
  }
1277
1412
 
1278
1413
  declare abstract class KlesAbstractFormControl implements IKlesControl {
1279
1414
  protected field: IKlesFieldConfig;
1280
- protected ref?: ChangeDetectorRef;
1281
- constructor(field: IKlesFieldConfig, ref?: ChangeDetectorRef);
1415
+ protected ref?: ChangeDetectorRef | undefined;
1416
+ constructor(field: IKlesFieldConfig, ref?: ChangeDetectorRef | undefined);
1282
1417
  abstract create(): AbstractControl;
1283
- bindValidations(validations: IKlesValidator<ValidatorFn>[]): ValidatorFn;
1284
- bindAsyncValidations(validations: IKlesValidator<AsyncValidatorFn>[]): AsyncValidatorFn;
1418
+ bindValidations(validations: IKlesValidator<ValidatorFn>[]): ValidatorFn | null;
1419
+ bindAsyncValidations(validations: IKlesValidator<AsyncValidatorFn>[]): AsyncValidatorFn | null;
1285
1420
  }
1286
1421
 
1287
1422
  declare class KlesFormControl extends KlesAbstractFormControl {
@@ -1301,7 +1436,7 @@ declare class KlesFormRange extends KlesFormControl {
1301
1436
  }
1302
1437
 
1303
1438
  interface Destroyable {
1304
- destroy(): any;
1439
+ destroy(): void;
1305
1440
  }
1306
1441
  declare function isDestroyable(value: unknown): value is Destroyable;
1307
1442
 
@@ -1341,5 +1476,5 @@ declare const GROUP_UI: InjectionToken<GroupUiState<any>>;
1341
1476
  declare const FIELD: InjectionToken<IKlesFieldConfig>;
1342
1477
  declare const FIELD_CONTEXT: InjectionToken<Signal<unknown>>;
1343
1478
 
1344
- 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, 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 };
1345
- export type { Destroyable, IButton, IButtonChecker, IButtonFile, IKlesClearControl, IKlesComponent, IKlesControl, IKlesCurrencyOptions, IKlesDirective, IKlesField, IKlesFieldActionEvent, IKlesFieldConfig, IKlesFieldUi, IKlesFieldUiResolveEvent, IKlesFieldUiResolver, IKlesFormField, IKlesSelectSearchOptions, IKlesStatusDefinition, IKlesStatusOptions, IKlesUi, IKlesValidator, IUIButton, KlesActionMenuCondition, KlesActionMenuFieldConfig, KlesActionMenuItem, KlesStatusAppearance, KlesStatusTone, KlesValidationKey };
1479
+ 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, KlesFocusTargetDirective, KlesFormActionMenuComponent, KlesFormArray, KlesFormArrayComponent, KlesFormBadgeComponent, KlesFormButtonCheckerComponent, KlesFormButtonComponent, KlesFormButtonFileComponent, KlesFormButtonToogleGroupComponent, KlesFormCheckboxComponent, KlesFormChipComponent, KlesFormChipGridComponent, KlesFormClearComponent, KlesFormColorComponent, KlesFormControl, KlesFormCopyComponent, KlesFormCurrencyComponent, KlesFormDateComponent, KlesFormDateTimeComponent, KlesFormErrorStateMatcher, KlesFormFabComponent, KlesFormFileComponent, KlesFormGroup, KlesFormGroupComponent, KlesFormIconButtonComponent, KlesFormIconComponent, KlesFormImageUploadComponent, KlesFormInputClearableComponent, KlesFormInputComponent, KlesFormLabelComponent, KlesFormLineBreakComponent, KlesFormLinkComponent, KlesFormListFieldComponent, KlesFormMiniFabComponent, KlesFormPasswordVisibilityComponent, KlesFormRadioComponent, KlesFormRange, KlesFormRangeComponent, KlesFormSelectComponent, KlesFormSelectionListComponent, KlesFormSelectionListSearchComponent, KlesFormSlideToggleComponent, KlesFormStatusComponent, KlesFormTextComponent, KlesFormTextareaComponent, KlesFormTileComponent, KlesFormUiArray, KlesFormUiControl, KlesFormUiGroup, KlesIconButtonComponent, KlesMaterialDynamicformsModule, KlesMiniFabComponent, KlesSelectionModel, KlesTransformPipe, MatErrorFormDirective, MatErrorMessageDirective, SIBLING_FIELDS, autocompleteObjectValidator, autocompleteStringValidator, componentMapper, flattenKlesFields, isDestroyable, isKlesStructuralElement, klesFieldControlFactory, klesFieldUiFactory };
1480
+ export type { Destroyable, IButton, IButtonChecker, IButtonFile, IKlesClearControl, IKlesComponent, IKlesControl, IKlesCurrencyOptions, IKlesDirective, IKlesElementLayout, IKlesElementLayoutBreakpoint, IKlesField, IKlesFieldActionEvent, IKlesFieldConfig, IKlesFieldUi, IKlesFieldUiResolveEvent, IKlesFieldUiResolver, IKlesFormDivider, IKlesFormField, IKlesFormLayoutGroup, IKlesFormSection, IKlesFormSpacer, IKlesImageUploadOptions, IKlesLayoutConfig, IKlesSelectSearchOptions, IKlesStatusDefinition, IKlesStatusOptions, IKlesUi, IKlesValidator, IUIButton, KlesActionMenuCondition, KlesActionMenuFieldConfig, KlesActionMenuItem, KlesComponentType, KlesFileControlValue, KlesFileValue, KlesFormElement, KlesFormStructuralElement, KlesGetProperty, KlesStatusAppearance, KlesStatusTone, KlesTypedOrUntyped, KlesValidationKey };