@3kles/kles-material-dynamicforms 21.0.2 → 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.0
|
|
3
|
+
"version": "21.2.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/3kles-lab/klesmaterialdynamicforms"
|
|
@@ -16,21 +16,16 @@
|
|
|
16
16
|
"license": "ISC",
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"@3kles/kles-material-datepicker": "^21.0.0",
|
|
19
|
-
"@angular/animations": "^21.2.19",
|
|
20
19
|
"@angular/cdk": "^21.2.14",
|
|
21
20
|
"@angular/common": "^21.2.19",
|
|
22
21
|
"@angular/core": "^21.2.19",
|
|
23
22
|
"@angular/forms": "^21.2.19",
|
|
24
23
|
"@angular/material": "^21.2.14",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"ngx-mat-select-search": "^8.0.2",
|
|
31
|
-
"rxjs": "^7.8.0",
|
|
32
|
-
"uuid": "^8.3.0",
|
|
33
|
-
"zone.js": "~0.15.1"
|
|
24
|
+
"lodash": "^4.17.21",
|
|
25
|
+
"ngx-color-picker": "^20.1.1",
|
|
26
|
+
"ngx-mat-select-search": "^9.0.0",
|
|
27
|
+
"rxjs": "^6.5.3 || ^7.4.0",
|
|
28
|
+
"uuid": "^8.3.0"
|
|
34
29
|
},
|
|
35
30
|
"dependencies": {
|
|
36
31
|
"tslib": "^2.0.0"
|
|
@@ -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';
|
|
@@ -7,6 +7,8 @@ import * as i30 from '@angular/material/core';
|
|
|
7
7
|
import { DateAdapter, MatDateFormats, MatOption, ErrorStateMatcher } from '@angular/material/core';
|
|
8
8
|
import * as i10 from '@angular/material/form-field';
|
|
9
9
|
import { SubscriptSizing, MatFormFieldControl } from '@angular/material/form-field';
|
|
10
|
+
import * as i3 from '@angular/material/button';
|
|
11
|
+
import { MatButtonAppearance } from '@angular/material/button';
|
|
10
12
|
import * as i24 from '@angular/material/checkbox';
|
|
11
13
|
import { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';
|
|
12
14
|
import * as i16 from '@angular/material/tooltip';
|
|
@@ -14,7 +16,6 @@ import { MatTooltip } from '@angular/material/tooltip';
|
|
|
14
16
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
15
17
|
import * as i1 from '@angular/common';
|
|
16
18
|
import * as i2 from '@angular/material/slider';
|
|
17
|
-
import * as i3 from '@angular/material/button';
|
|
18
19
|
import * as i4 from '@angular/material/toolbar';
|
|
19
20
|
import * as i5 from '@angular/material/icon';
|
|
20
21
|
import * as i6 from '@angular/material/sidenav';
|
|
@@ -47,7 +48,8 @@ import * as i35 from '@angular/cdk/portal';
|
|
|
47
48
|
import * as i36 from '@angular/cdk/scrolling';
|
|
48
49
|
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
49
50
|
import * as i4$1 from 'ngx-mat-select-search';
|
|
50
|
-
import * as
|
|
51
|
+
import * as _3kles_kles_material_dynamicforms from '@3kles/kles-material-dynamicforms';
|
|
52
|
+
import * as i60 from 'ngx-color-picker';
|
|
51
53
|
|
|
52
54
|
type Exclusive<T, U> = (T & {
|
|
53
55
|
[K in keyof U]?: never;
|
|
@@ -83,7 +85,9 @@ declare enum EnumType {
|
|
|
83
85
|
group = "group",
|
|
84
86
|
lineBreak = "lineBreak",
|
|
85
87
|
badge = "badge",
|
|
86
|
-
range = "range"
|
|
88
|
+
range = "range",
|
|
89
|
+
currency = "currency",
|
|
90
|
+
status = "status"
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
interface IKlesField {
|
|
@@ -95,13 +99,57 @@ interface IKlesField {
|
|
|
95
99
|
interface IKlesDirective extends OnInit, OnDestroy {
|
|
96
100
|
}
|
|
97
101
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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;
|
|
103
152
|
}
|
|
104
|
-
|
|
105
153
|
interface IKlesFieldUi {
|
|
106
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';
|
|
107
155
|
min?: number | Date;
|
|
@@ -118,6 +166,7 @@ interface IKlesFieldUi {
|
|
|
118
166
|
icon?: string;
|
|
119
167
|
iconSvg?: string;
|
|
120
168
|
appearance?: 'fill' | 'outline';
|
|
169
|
+
buttonAppearance?: MatButtonAppearance;
|
|
121
170
|
visible?: boolean;
|
|
122
171
|
colorOption?: {
|
|
123
172
|
disable?: boolean;
|
|
@@ -133,15 +182,18 @@ interface IKlesFieldUi {
|
|
|
133
182
|
};
|
|
134
183
|
virtualScroll?: boolean;
|
|
135
184
|
itemSize?: number;
|
|
185
|
+
hint?: string;
|
|
186
|
+
label?: string;
|
|
187
|
+
placeholder?: any;
|
|
188
|
+
tooltip?: string;
|
|
189
|
+
imageUrl?: string;
|
|
190
|
+
imageAlt?: string;
|
|
136
191
|
}
|
|
137
192
|
interface IKlesFormField {
|
|
138
193
|
type?: EnumType;
|
|
139
194
|
name: string;
|
|
140
195
|
component?: Type<any>;
|
|
141
196
|
id?: string;
|
|
142
|
-
label?: string;
|
|
143
|
-
placeholder?: any;
|
|
144
|
-
tooltip?: string;
|
|
145
197
|
copyTooltip?: string;
|
|
146
198
|
options?: any[] | Subject<any[]> | Observable<any[]> | ((value?: string, group?: {
|
|
147
199
|
[key: string]: any;
|
|
@@ -180,17 +232,18 @@ interface IKlesFormField {
|
|
|
180
232
|
language: string;
|
|
181
233
|
dateFormat: MatDateFormats;
|
|
182
234
|
};
|
|
183
|
-
hint?: string;
|
|
184
235
|
clearable?: boolean;
|
|
185
236
|
clearableComponent?: Type<any>;
|
|
186
237
|
subComponents?: Type<any>[];
|
|
187
238
|
autofocus?: boolean;
|
|
188
|
-
attribute?: EnumButtonAttribute;
|
|
189
239
|
subscriptSizing?: SubscriptSizing;
|
|
190
240
|
nonNullable?: boolean;
|
|
191
241
|
onFocus?: (field: IKlesFieldConfig, group: UntypedFormGroup) => void;
|
|
192
242
|
onBlur?: (field: IKlesFieldConfig, group: UntypedFormGroup) => void;
|
|
193
243
|
providers?: Array<Provider | StaticProvider>;
|
|
244
|
+
onAction?: (event: IKlesFieldActionEvent<any, any>) => void;
|
|
245
|
+
currencyOptions?: IKlesCurrencyOptions;
|
|
246
|
+
statusOptions?: IKlesStatusOptions;
|
|
194
247
|
}
|
|
195
248
|
type IKlesFieldConfig = IKlesFormField & IKlesFieldUi;
|
|
196
249
|
|
|
@@ -291,23 +344,32 @@ declare class KlesDynamicFieldDirective<T extends IKlesFieldConfig = IKlesFieldC
|
|
|
291
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>;
|
|
292
345
|
}
|
|
293
346
|
|
|
294
|
-
declare abstract class KlesFieldAbstract implements IKlesField, OnInit, AfterViewInit, OnDestroy {
|
|
347
|
+
declare abstract class KlesFieldAbstract<TContext = unknown> implements IKlesField, OnInit, AfterViewInit, OnDestroy {
|
|
295
348
|
readonly field: IKlesFieldConfig;
|
|
296
349
|
readonly group: FormGroup<any>;
|
|
297
350
|
readonly siblingFields: IKlesFieldConfig[];
|
|
298
351
|
readonly ui: GroupUiState<any>;
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
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>;
|
|
311
373
|
protected readonly viewRef: ViewContainerRef;
|
|
312
374
|
directive: any;
|
|
313
375
|
protected _onDestroy: Subject<void>;
|
|
@@ -319,8 +381,9 @@ declare abstract class KlesFieldAbstract implements IKlesField, OnInit, AfterVie
|
|
|
319
381
|
isPending(): boolean;
|
|
320
382
|
onFocus(): void;
|
|
321
383
|
onBlur(): void;
|
|
322
|
-
|
|
323
|
-
static
|
|
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>;
|
|
324
387
|
}
|
|
325
388
|
|
|
326
389
|
declare class KlesFormLabelComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
|
|
@@ -331,39 +394,6 @@ declare class KlesFormLabelComponent extends KlesFieldAbstract implements OnInit
|
|
|
331
394
|
static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormLabelComponent, "kles-form-label", never, {}, {}, never, never, true, never>;
|
|
332
395
|
}
|
|
333
396
|
|
|
334
|
-
declare class KlesTransformPipe implements PipeTransform {
|
|
335
|
-
transform(value: any, pipes: {
|
|
336
|
-
pipe: PipeTransform;
|
|
337
|
-
options?: any[];
|
|
338
|
-
}[]): any;
|
|
339
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KlesTransformPipe, never>;
|
|
340
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<KlesTransformPipe, "klesTransform", true>;
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
declare class ArrayFormatPipe implements PipeTransform {
|
|
344
|
-
transform(values: any[], property?: string): string;
|
|
345
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ArrayFormatPipe, never>;
|
|
346
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<ArrayFormatPipe, "arrayFormat", true>;
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
interface IKlesClearControl extends IKlesField {
|
|
350
|
-
clear(event: any): void;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
declare class KlesFormClearComponent implements IKlesClearControl, OnDestroy {
|
|
354
|
-
readonly field: IKlesFieldConfig;
|
|
355
|
-
readonly group: FormGroup<any>;
|
|
356
|
-
readonly siblingFields: IKlesFieldConfig[];
|
|
357
|
-
private _onDestroy;
|
|
358
|
-
disabled: Signal<boolean>;
|
|
359
|
-
constructor();
|
|
360
|
-
ngOnDestroy(): void;
|
|
361
|
-
clear(event: any): void;
|
|
362
|
-
private isPresent;
|
|
363
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormClearComponent, never>;
|
|
364
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormClearComponent, "kles-form-clear", never, {}, {}, never, never, true, never>;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
397
|
interface IButton {
|
|
368
398
|
event?: any;
|
|
369
399
|
uiButton?: IUIButton;
|
|
@@ -377,6 +407,7 @@ interface IUIButton {
|
|
|
377
407
|
class?: string;
|
|
378
408
|
type?: string;
|
|
379
409
|
accept?: string;
|
|
410
|
+
buttonAppearance?: MatButtonAppearance;
|
|
380
411
|
}
|
|
381
412
|
declare abstract class KlesButtonBase implements OnInit, ControlValueAccessor {
|
|
382
413
|
name: string;
|
|
@@ -390,22 +421,57 @@ declare abstract class KlesButtonBase implements OnInit, ControlValueAccessor {
|
|
|
390
421
|
classButton: string;
|
|
391
422
|
value: IButton;
|
|
392
423
|
tooltip?: string;
|
|
424
|
+
buttonAppearance: MatButtonAppearance;
|
|
425
|
+
action: EventEmitter<MouseEvent>;
|
|
393
426
|
protected _type: string;
|
|
394
427
|
onChange: any;
|
|
395
428
|
onTouched: any;
|
|
396
429
|
ngOnInit(): void;
|
|
397
|
-
click(event:
|
|
430
|
+
click(event: MouseEvent): void;
|
|
398
431
|
writeValue(value: IButton): void;
|
|
399
432
|
registerOnChange(fn: any): void;
|
|
400
433
|
registerOnTouched(fn: any): void;
|
|
401
434
|
setDisabledState?(isDisabled: boolean): void;
|
|
402
435
|
static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonBase, never>;
|
|
403
|
-
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; }; }, {}, 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>;
|
|
404
437
|
}
|
|
405
438
|
|
|
406
|
-
declare class
|
|
407
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
408
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
439
|
+
declare class KlesButtonComponent extends KlesButtonBase implements OnInit {
|
|
440
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonComponent, never>;
|
|
441
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonComponent, "kles-button", never, {}, {}, never, never, true, never>;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
declare class KlesTransformPipe implements PipeTransform {
|
|
445
|
+
transform(value: any, pipes: {
|
|
446
|
+
pipe: PipeTransform;
|
|
447
|
+
options?: any[];
|
|
448
|
+
}[]): any;
|
|
449
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KlesTransformPipe, never>;
|
|
450
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<KlesTransformPipe, "klesTransform", true>;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
declare class ArrayFormatPipe implements PipeTransform {
|
|
454
|
+
transform(values: any[], property?: string): string;
|
|
455
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ArrayFormatPipe, never>;
|
|
456
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<ArrayFormatPipe, "arrayFormat", true>;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
interface IKlesClearControl extends IKlesField {
|
|
460
|
+
clear(event: any): void;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
declare class KlesFormClearComponent implements IKlesClearControl, OnDestroy {
|
|
464
|
+
readonly field: IKlesFieldConfig;
|
|
465
|
+
readonly group: FormGroup<any>;
|
|
466
|
+
readonly siblingFields: IKlesFieldConfig[];
|
|
467
|
+
private _onDestroy;
|
|
468
|
+
disabled: Signal<boolean>;
|
|
469
|
+
constructor();
|
|
470
|
+
ngOnDestroy(): void;
|
|
471
|
+
clear(event: any): void;
|
|
472
|
+
private isPresent;
|
|
473
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KlesFormClearComponent, never>;
|
|
474
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormClearComponent, "kles-form-clear", never, {}, {}, never, never, true, never>;
|
|
409
475
|
}
|
|
410
476
|
|
|
411
477
|
declare class MatErrorMessageDirective implements AfterViewInit {
|
|
@@ -535,13 +601,6 @@ declare class KlesFormFileComponent extends KlesFieldAbstract {
|
|
|
535
601
|
static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormFileComponent, "kles-form-file", never, {}, {}, never, never, true, never>;
|
|
536
602
|
}
|
|
537
603
|
|
|
538
|
-
declare class KlesButtonComponent extends KlesButtonBase implements OnInit {
|
|
539
|
-
mdcClasses: i0.WritableSignal<string[]>;
|
|
540
|
-
set attribute(attribute: EnumButtonAttribute);
|
|
541
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KlesButtonComponent, never>;
|
|
542
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KlesButtonComponent, "kles-button", never, { "attribute": { "alias": "attribute"; "required": false; }; }, {}, never, never, true, never>;
|
|
543
|
-
}
|
|
544
|
-
|
|
545
604
|
declare class KlesFormButtonComponent extends KlesFieldAbstract implements OnInit, OnDestroy {
|
|
546
605
|
ngOnInit(): void;
|
|
547
606
|
ngOnDestroy(): void;
|
|
@@ -925,6 +984,11 @@ declare class KlesFormFabComponent extends KlesFieldAbstract implements OnInit,
|
|
|
925
984
|
static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormFabComponent, "kles-form-fab", never, {}, {}, never, never, true, never>;
|
|
926
985
|
}
|
|
927
986
|
|
|
987
|
+
declare class KlesFabComponent extends KlesButtonBase implements OnInit {
|
|
988
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KlesFabComponent, never>;
|
|
989
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KlesFabComponent, "kles-fab", never, {}, {}, never, never, true, never>;
|
|
990
|
+
}
|
|
991
|
+
|
|
928
992
|
declare class KlesMiniFabComponent extends KlesButtonBase implements OnInit {
|
|
929
993
|
static ɵfac: i0.ɵɵFactoryDeclaration<KlesMiniFabComponent, never>;
|
|
930
994
|
static ɵcmp: i0.ɵɵComponentDeclaration<KlesMiniFabComponent, "kles-mini-fab", never, {}, {}, never, never, true, never>;
|
|
@@ -961,10 +1025,142 @@ declare class KlesFormSelectionListSearchComponent extends KlesFieldAbstract imp
|
|
|
961
1025
|
static ɵcmp: i0.ɵɵComponentDeclaration<KlesFormSelectionListSearchComponent, "kles-form-selection-list-search", never, {}, {}, never, never, true, never>;
|
|
962
1026
|
}
|
|
963
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
|
+
|
|
964
1160
|
declare class KlesMaterialDynamicformsModule {
|
|
965
|
-
static declarations: ((typeof KlesFormClearComponent | typeof KlesDynamicFormComponent | typeof KlesFormLabelComponent | typeof
|
|
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)[])[];
|
|
966
1162
|
static ɵfac: i0.ɵɵFactoryDeclaration<KlesMaterialDynamicformsModule, never>;
|
|
967
|
-
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
|
|
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]>;
|
|
968
1164
|
static ɵinj: i0.ɵɵInjectorDeclaration<KlesMaterialDynamicformsModule>;
|
|
969
1165
|
}
|
|
970
1166
|
|
|
@@ -1078,6 +1274,7 @@ declare const GROUP: InjectionToken<FormGroup<any>>;
|
|
|
1078
1274
|
declare const SIBLING_FIELDS: InjectionToken<IKlesFieldConfig[]>;
|
|
1079
1275
|
declare const GROUP_UI: InjectionToken<GroupUiState<any>>;
|
|
1080
1276
|
declare const FIELD: InjectionToken<IKlesFieldConfig>;
|
|
1277
|
+
declare const FIELD_CONTEXT: InjectionToken<Signal<unknown>>;
|
|
1081
1278
|
|
|
1082
|
-
export { AbstractUiState, ArrayFormatPipe, ArrayUiState, ControlUiState,
|
|
1083
|
-
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 };
|