@messaia/cdk 18.0.0-rc15 → 18.0.0-rc17

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.
@@ -24,6 +24,7 @@ import * as i21 from "./pipes/nested-property";
24
24
  import * as i22 from "./pipes/split.pipe";
25
25
  import * as i23 from "./pipes/join.pipe";
26
26
  import * as i24 from "./pipes/property-join.pipe";
27
+ import * as i25 from "./pipes/bind";
27
28
  export { IControlValueAccessor, mixinControlValueAccessor } from './behaviors/control-value-accesor.mixin';
28
29
  export { ICanDisable, mixinDisabled } from './behaviors/disabled.mixin';
29
30
  export { endpointMetadataKey, headerMetadataKey } from './constants/constants';
@@ -64,6 +65,6 @@ export declare function createCompiler(compilerFactory: CompilerFactory): Compil
64
65
  export declare const RUNTIME_COMPILER_PROVIDERS: StaticProvider[];
65
66
  export declare class VdCommonModule {
66
67
  static ɵfac: i0.ɵɵFactoryDeclaration<VdCommonModule, never>;
67
- static ɵmod: i0.ɵɵNgModuleDeclaration<VdCommonModule, [typeof i1.DataSourcePipe, typeof i2.DisableControlDirective, typeof i3.EnumPipe, typeof i4.FileSizePipe, typeof i5.FilterPipe, typeof i6.FirstLetterPipe, typeof i7.FormControlPipe, typeof i8.FormGroupPipe, typeof i9.FormArrayPipe, typeof i10.FuncPipe, typeof i11.KeysPipe, typeof i12.MonthNamePipe, typeof i13.OnlyNumberDirective, typeof i14.OrderPipe, typeof i15.PlaceholderPipe, typeof i16.SafeHtmlPipe, typeof i17.TimePipe, typeof i18.TitleCase, typeof i19.TruncatePipe, typeof i20.ValuesPipe, typeof i21.PropertyPipe, typeof i22.SplitPipe, typeof i23.JoinPipe, typeof i24.PropertyJoinPipe], never, [typeof i1.DataSourcePipe, typeof i2.DisableControlDirective, typeof i3.EnumPipe, typeof i4.FileSizePipe, typeof i5.FilterPipe, typeof i6.FirstLetterPipe, typeof i7.FormControlPipe, typeof i8.FormGroupPipe, typeof i9.FormArrayPipe, typeof i10.FuncPipe, typeof i11.KeysPipe, typeof i12.MonthNamePipe, typeof i13.OnlyNumberDirective, typeof i14.OrderPipe, typeof i15.PlaceholderPipe, typeof i16.SafeHtmlPipe, typeof i17.TimePipe, typeof i18.TitleCase, typeof i19.TruncatePipe, typeof i20.ValuesPipe, typeof i21.PropertyPipe, typeof i22.SplitPipe, typeof i23.JoinPipe, typeof i24.PropertyJoinPipe]>;
68
+ static ɵmod: i0.ɵɵNgModuleDeclaration<VdCommonModule, [typeof i1.DataSourcePipe, typeof i2.DisableControlDirective, typeof i3.EnumPipe, typeof i4.FileSizePipe, typeof i5.FilterPipe, typeof i6.FirstLetterPipe, typeof i7.FormControlPipe, typeof i8.FormGroupPipe, typeof i9.FormArrayPipe, typeof i10.FuncPipe, typeof i11.KeysPipe, typeof i12.MonthNamePipe, typeof i13.OnlyNumberDirective, typeof i14.OrderPipe, typeof i15.PlaceholderPipe, typeof i16.SafeHtmlPipe, typeof i17.TimePipe, typeof i18.TitleCase, typeof i19.TruncatePipe, typeof i20.ValuesPipe, typeof i21.PropertyPipe, typeof i22.SplitPipe, typeof i23.JoinPipe, typeof i24.PropertyJoinPipe, typeof i25.BindPipe], never, [typeof i1.DataSourcePipe, typeof i2.DisableControlDirective, typeof i3.EnumPipe, typeof i4.FileSizePipe, typeof i5.FilterPipe, typeof i6.FirstLetterPipe, typeof i7.FormControlPipe, typeof i8.FormGroupPipe, typeof i9.FormArrayPipe, typeof i10.FuncPipe, typeof i11.KeysPipe, typeof i12.MonthNamePipe, typeof i13.OnlyNumberDirective, typeof i14.OrderPipe, typeof i15.PlaceholderPipe, typeof i16.SafeHtmlPipe, typeof i17.TimePipe, typeof i18.TitleCase, typeof i19.TruncatePipe, typeof i20.ValuesPipe, typeof i21.PropertyPipe, typeof i22.SplitPipe, typeof i23.JoinPipe, typeof i24.PropertyJoinPipe, typeof i25.BindPipe]>;
68
69
  static ɵinj: i0.ɵɵInjectorDeclaration<VdCommonModule>;
69
70
  }
@@ -0,0 +1,3 @@
1
+ export interface Delegate<T> {
2
+ (...args: any[]): T;
3
+ }
@@ -14,6 +14,11 @@ export declare class Icon<TEntity = any, TContext = any> {
14
14
  * Font icon name or function returning the icon dynamically.
15
15
  */
16
16
  fontIcon?: ((x?: TEntity, ctx?: TContext) => any) | string;
17
+ /**
18
+ * Icon color or a function that returns the color dynamically.
19
+ * If a function is provided, it takes optional parameters x and ctx.
20
+ */
21
+ iconColor?: ((x?: TEntity, ctx?: TContext) => any) | string;
17
22
  /**
18
23
  * Font set name for font icon.
19
24
  */
@@ -0,0 +1,18 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A custom Angular pipe to bind a function with a given context and arguments.
5
+ */
6
+ export declare class BindPipe implements PipeTransform {
7
+ /**
8
+ * Transforms the function to be bound with the specified context and arguments.
9
+ *
10
+ * @param fn The function to be bound. If it's not a function, the pipe returns undefined.
11
+ * @param context The context (`this`) to bind to the function.
12
+ * @param args Additional arguments to be pre-applied to the function.
13
+ * @returns A new function bound to the specified context with the provided arguments, or undefined if `fn` is not a function.
14
+ */
15
+ transform(fn: Function | undefined, context: any, ...args: any[]): any;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<BindPipe, never>;
17
+ static ɵpipe: i0.ɵɵPipeDeclaration<BindPipe, "bind", false>;
18
+ }
@@ -3,6 +3,7 @@ export * from './directives/delayed-hover.directive';
3
3
  export * from './directives/disable-control.directive';
4
4
  export * from './enums/app-event-type';
5
5
  export * from './enums/salutation';
6
+ export * from './helpers/delegate';
6
7
  export * from './models/app-event';
7
8
  export * from './models/displayname-number-projection';
8
9
  export * from './models/displayname-projection';
@@ -10,6 +11,7 @@ export * from './models/enum-metadata';
10
11
  export * from './models/name-number-projection';
11
12
  export * from './models/name-projection';
12
13
  export * from './models/title-projection';
14
+ export * from './pipes/bind';
13
15
  export * from './pipes/data-source.pipe';
14
16
  export * from './pipes/enum.pipe';
15
17
  export * from './pipes/file-size.pipe';
@@ -1,27 +1,34 @@
1
1
  @mixin pad($direction: "") {
2
2
  .pad#{$direction} {
3
- padding#{$direction}: 16px;
3
+ padding#{$direction}: 16px !important;
4
4
  }
5
+
5
6
  .pad#{$direction}-xxl {
6
- padding#{$direction}: 56px;
7
+ padding#{$direction}: 56px !important;
7
8
  }
9
+
8
10
  .pad#{$direction}-xl {
9
- padding#{$direction}: 48px;
11
+ padding#{$direction}: 48px !important;
10
12
  }
13
+
11
14
  .pad#{$direction}-lg {
12
- padding#{$direction}: 32px;
15
+ padding#{$direction}: 32px !important;
13
16
  }
17
+
14
18
  .pad#{$direction}-md {
15
- padding#{$direction}: 24px;
19
+ padding#{$direction}: 24px !important;
16
20
  }
21
+
17
22
  .pad#{$direction}-sm {
18
- padding#{$direction}: 8px;
23
+ padding#{$direction}: 8px !important;
19
24
  }
25
+
20
26
  .pad#{$direction}-xs {
21
- padding#{$direction}: 4px;
27
+ padding#{$direction}: 4px !important;
22
28
  }
29
+
23
30
  .pad#{$direction}-none {
24
- padding#{$direction}: 0px;
31
+ padding#{$direction}: 0px !important;
25
32
  }
26
33
  }
27
34
 
@@ -1,27 +1,34 @@
1
1
  @mixin pull($direction: "") {
2
2
  .pull#{$direction}-xxl {
3
- margin#{$direction}: -56px;
3
+ margin#{$direction}: -56px !important;
4
4
  }
5
+
5
6
  .pull#{$direction}-xl {
6
- margin#{$direction}: -48px;
7
+ margin#{$direction}: -48px !important;
7
8
  }
9
+
8
10
  .pull#{$direction}-lg {
9
- margin#{$direction}: -32px;
11
+ margin#{$direction}: -32px !important;
10
12
  }
13
+
11
14
  .pull#{$direction}-md {
12
- margin#{$direction}: -24px;
15
+ margin#{$direction}: -24px !important;
13
16
  }
17
+
14
18
  .pull#{$direction} {
15
- margin#{$direction}: -16px;
16
- }
19
+ margin#{$direction}: -16px !important;
20
+ }
21
+
17
22
  .pull#{$direction}-sm {
18
- margin#{$direction}: -8px;
23
+ margin#{$direction}: -8px !important;
19
24
  }
25
+
20
26
  .pull#{$direction}-xs {
21
- margin#{$direction}: -4px;
27
+ margin#{$direction}: -4px !important;
22
28
  }
29
+
23
30
  .pull#{$direction}-none {
24
- margin#{$direction}: -0px;
31
+ margin#{$direction}: -0px !important;
25
32
  }
26
33
  }
27
34
 
@@ -33,4 +40,4 @@
33
40
  @include pull(-left);
34
41
  @include pull(-right);
35
42
  }
36
- }
43
+ }
@@ -1,27 +1,34 @@
1
1
  @mixin push($direction: "") {
2
2
  .push#{$direction} {
3
- margin#{$direction}: 16px;
3
+ margin#{$direction}: 16px !important;
4
4
  }
5
+
5
6
  .push#{$direction}-xxl {
6
- margin#{$direction}: 56px;
7
+ margin#{$direction}: 56px !important;
7
8
  }
9
+
8
10
  .push#{$direction}-xl {
9
- margin#{$direction}: 48px;
11
+ margin#{$direction}: 48px !important;
10
12
  }
13
+
11
14
  .push#{$direction}-lg {
12
- margin#{$direction}: 32px;
15
+ margin#{$direction}: 32px !important;
13
16
  }
17
+
14
18
  .push#{$direction}-md {
15
- margin#{$direction}: 24px;
19
+ margin#{$direction}: 24px !important;
16
20
  }
21
+
17
22
  .push#{$direction}-sm {
18
- margin#{$direction}: 8px;
23
+ margin#{$direction}: 8px !important;
19
24
  }
25
+
20
26
  .push#{$direction}-xs {
21
- margin#{$direction}: 4px;
27
+ margin#{$direction}: 4px !important;
22
28
  }
29
+
23
30
  .push#{$direction}-none {
24
- margin#{$direction}: 0px;
31
+ margin#{$direction}: 0px !important;
25
32
  }
26
33
  }
27
34
 
@@ -33,4 +40,4 @@
33
40
  @include push(-left);
34
41
  @include push(-right);
35
42
  }
36
- }
43
+ }
@@ -4,6 +4,7 @@ import { FormGroup } from '@angular/forms';
4
4
  import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
5
5
  import { MatChipInputEvent } from '@angular/material/chips';
6
6
  import { MatCalendar, MatDatepicker } from '@angular/material/datepicker';
7
+ import { Icon } from '../../../common/models/icon';
7
8
  import { VdGenericFormCustomFieldDirective } from '../../directives/vd-generic-form-custom-field.directive';
8
9
  import { FormFieldType } from '../../enums/form-field-type';
9
10
  import { FormDefinition } from '../../models/form-definition';
@@ -203,6 +204,7 @@ export declare class VdGenericFormComponent implements OnInit {
203
204
  * @param optionalParams
204
205
  */
205
206
  log(message: any, ...optionalParams: any[]): void;
207
+ myFunction(func: Function, option: any): Icon<any, any>;
206
208
  static ɵfac: i0.ɵɵFactoryDeclaration<VdGenericFormComponent, never>;
207
209
  static ɵcmp: i0.ɵɵComponentDeclaration<VdGenericFormComponent, "vd-generic-form", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "classType": { "alias": "classType"; "required": false; }; "formDefinition": { "alias": "formDefinition"; "required": false; }; "fieldGroups": { "alias": "fieldGroups"; "required": false; }; "groupName": { "alias": "groupName"; "required": false; }; "fieldSets": { "alias": "fieldSets"; "required": false; }; "context": { "alias": "context"; "required": false; }; "debugValue": { "alias": "debugValue"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "separatorKeysCodes": { "alias": "separatorKeysCodes"; "required": false; }; }, {}, ["editorTemplate", "codeTemplate", "fileTemplate", "customTemplate", "bottom", "customFields", "customFieldsTemplates"], never, false, never>;
208
210
  }
@@ -1,6 +1,7 @@
1
1
  import { DatePickerHeaderComponent } from './components/datepicker/datepicker-header.component';
2
2
  import { MatFormFieldEditorDirective } from './directives/mat-form-field-editor.directive';
3
3
  import { NestedPropertyNgModelDirective } from './directives/nested-property-ng-model.directive';
4
+ import { FieldFuncPipe } from './pipes/field-func.pipe';
4
5
  import { GroupFilterPipe } from './pipes/group-filter.pipe';
5
6
  import { EmptyStringResetDirective } from './validators/empty-string-reset.directive';
6
7
  import { NativeElementInjectorDirective } from './validators/native-element-injector.directive';
@@ -17,25 +18,26 @@ import * as i8 from "./components/datepicker/datepicker-header.component";
17
18
  import * as i9 from "./directives/vd-generic-form-custom-field.directive";
18
19
  import * as i10 from "./directives/nested-property-ng-model.directive";
19
20
  import * as i11 from "./pipes/group-filter.pipe";
20
- import * as i12 from "@angular/common";
21
- import * as i13 from "../common/common.module";
22
- import * as i14 from "../select/select.module";
23
- import * as i15 from "../chips/chips.module";
24
- import * as i16 from "../file/file.module";
25
- import * as i17 from "../list/list.module";
26
- import * as i18 from "@angular/forms";
27
- import * as i19 from "@angular/material/form-field";
28
- import * as i20 from "@angular/material/select";
29
- import * as i21 from "@angular/material/icon";
30
- import * as i22 from "@angular/material/input";
31
- import * as i23 from "@angular/material/button";
32
- import * as i24 from "@angular/material/datepicker";
33
- import * as i25 from "@angular/material/checkbox";
34
- import * as i26 from "@angular/material/slide-toggle";
35
- import * as i27 from "@angular/material/core";
36
- import * as i28 from "@angular/material/autocomplete";
37
- import * as i29 from "@angular/material/chips";
38
- import * as i30 from "ngx-colors";
21
+ import * as i12 from "./pipes/field-func.pipe";
22
+ import * as i13 from "@angular/common";
23
+ import * as i14 from "../common/common.module";
24
+ import * as i15 from "../select/select.module";
25
+ import * as i16 from "../chips/chips.module";
26
+ import * as i17 from "../file/file.module";
27
+ import * as i18 from "../list/list.module";
28
+ import * as i19 from "@angular/forms";
29
+ import * as i20 from "@angular/material/form-field";
30
+ import * as i21 from "@angular/material/select";
31
+ import * as i22 from "@angular/material/icon";
32
+ import * as i23 from "@angular/material/input";
33
+ import * as i24 from "@angular/material/button";
34
+ import * as i25 from "@angular/material/datepicker";
35
+ import * as i26 from "@angular/material/checkbox";
36
+ import * as i27 from "@angular/material/slide-toggle";
37
+ import * as i28 from "@angular/material/core";
38
+ import * as i29 from "@angular/material/autocomplete";
39
+ import * as i30 from "@angular/material/chips";
40
+ import * as i31 from "ngx-colors";
39
41
  export { formFieldGroupsMetadataKey, formFieldsMetadataKey } from './constants/constants';
40
42
  export { FormFieldType } from './enums/form-field-type';
41
43
  export * from './functions/decorators';
@@ -46,9 +48,9 @@ export { FormDefinition } from './models/form-definition';
46
48
  export { FormFieldDefinition } from './models/form-field-definition';
47
49
  export { FormFieldGroupDefinition } from './models/form-field-group-definition';
48
50
  export { EqualValidator } from './validators/equal-validator.directive';
49
- export { DatePickerHeaderComponent, EmptyStringResetDirective, GroupFilterPipe, MatFormFieldEditorDirective, NativeElementInjectorDirective, NestedPropertyNgModelDirective, UniqueValidatorDirective };
51
+ export { DatePickerHeaderComponent, EmptyStringResetDirective, FieldFuncPipe, GroupFilterPipe, MatFormFieldEditorDirective, NativeElementInjectorDirective, NestedPropertyNgModelDirective, UniqueValidatorDirective };
50
52
  export declare class VdFormsModule {
51
53
  static ɵfac: i0.ɵɵFactoryDeclaration<VdFormsModule, never>;
52
- static ɵmod: i0.ɵɵNgModuleDeclaration<VdFormsModule, [typeof i1.EqualValidator, typeof i2.UniqueValidatorDirective, typeof i3.NativeElementInjectorDirective, typeof i4.MatFormFieldReadonlyDirective, typeof i5.MatFormFieldEditorDirective, typeof i6.VdEditorDirective, typeof i6.VdCodeDirective, typeof i6.VdFileDirective, typeof i6.VdCustomDirective, typeof i7.EmptyStringResetDirective, typeof i6.VdGenericFormComponent, typeof i8.DatePickerHeaderComponent, typeof i9.VdGenericFormCustomFieldDirective, typeof i10.NestedPropertyNgModelDirective, typeof i11.GroupFilterPipe], [typeof i12.CommonModule, typeof i13.VdCommonModule, typeof i14.VdSelectModule, typeof i15.VdChipsModule, typeof i16.VdFileModule, typeof i17.VdListModule, typeof i18.FormsModule, typeof i18.ReactiveFormsModule, typeof i19.MatFormFieldModule, typeof i20.MatSelectModule, typeof i21.MatIconModule, typeof i22.MatInputModule, typeof i23.MatButtonModule, typeof i24.MatDatepickerModule, typeof i25.MatCheckboxModule, typeof i26.MatSlideToggleModule, typeof i24.MatDatepickerModule, typeof i27.MatNativeDateModule, typeof i28.MatAutocompleteModule, typeof i29.MatChipsModule, typeof i30.NgxColorsModule], [typeof i1.EqualValidator, typeof i2.UniqueValidatorDirective, typeof i3.NativeElementInjectorDirective, typeof i4.MatFormFieldReadonlyDirective, typeof i5.MatFormFieldEditorDirective, typeof i6.VdEditorDirective, typeof i6.VdCodeDirective, typeof i6.VdFileDirective, typeof i6.VdCustomDirective, typeof i7.EmptyStringResetDirective, typeof i6.VdGenericFormComponent, typeof i8.DatePickerHeaderComponent, typeof i9.VdGenericFormCustomFieldDirective, typeof i10.NestedPropertyNgModelDirective, typeof i11.GroupFilterPipe]>;
54
+ static ɵmod: i0.ɵɵNgModuleDeclaration<VdFormsModule, [typeof i1.EqualValidator, typeof i2.UniqueValidatorDirective, typeof i3.NativeElementInjectorDirective, typeof i4.MatFormFieldReadonlyDirective, typeof i5.MatFormFieldEditorDirective, typeof i6.VdEditorDirective, typeof i6.VdCodeDirective, typeof i6.VdFileDirective, typeof i6.VdCustomDirective, typeof i7.EmptyStringResetDirective, typeof i6.VdGenericFormComponent, typeof i8.DatePickerHeaderComponent, typeof i9.VdGenericFormCustomFieldDirective, typeof i10.NestedPropertyNgModelDirective, typeof i11.GroupFilterPipe, typeof i12.FieldFuncPipe], [typeof i13.CommonModule, typeof i14.VdCommonModule, typeof i15.VdSelectModule, typeof i16.VdChipsModule, typeof i17.VdFileModule, typeof i18.VdListModule, typeof i19.FormsModule, typeof i19.ReactiveFormsModule, typeof i20.MatFormFieldModule, typeof i21.MatSelectModule, typeof i22.MatIconModule, typeof i23.MatInputModule, typeof i24.MatButtonModule, typeof i25.MatDatepickerModule, typeof i26.MatCheckboxModule, typeof i27.MatSlideToggleModule, typeof i25.MatDatepickerModule, typeof i28.MatNativeDateModule, typeof i29.MatAutocompleteModule, typeof i30.MatChipsModule, typeof i31.NgxColorsModule], [typeof i1.EqualValidator, typeof i2.UniqueValidatorDirective, typeof i3.NativeElementInjectorDirective, typeof i4.MatFormFieldReadonlyDirective, typeof i5.MatFormFieldEditorDirective, typeof i6.VdEditorDirective, typeof i6.VdCodeDirective, typeof i6.VdFileDirective, typeof i6.VdCustomDirective, typeof i7.EmptyStringResetDirective, typeof i6.VdGenericFormComponent, typeof i8.DatePickerHeaderComponent, typeof i9.VdGenericFormCustomFieldDirective, typeof i10.NestedPropertyNgModelDirective, typeof i11.GroupFilterPipe, typeof i12.FieldFuncPipe]>;
53
55
  static ɵinj: i0.ɵɵInjectorDeclaration<VdFormsModule>;
54
56
  }
@@ -271,5 +271,5 @@ export declare abstract class AbstractSelectFormField<T> extends AbstractMatForm
271
271
  */
272
272
  log(message: any, ...optionalParams: any[]): void;
273
273
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSelectFormField<any>, never>;
274
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractSelectFormField<any>, never, never, { "enum": { "alias": "enum"; "required": false; }; "enumMetadata": { "alias": "enumMetadata"; "required": false; }; "textPrefix": { "alias": "textPrefix"; "required": false; }; "optionTextProperty": { "alias": "optionTextProperty"; "required": false; }; "optionValueProperty": { "alias": "optionValueProperty"; "required": false; }; "matIconKey": { "alias": "matIconKey"; "required": false; }; "svgIconKey": { "alias": "svgIconKey"; "required": false; }; "fontSet": { "alias": "fontSet"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "options": { "alias": "options"; "required": false; }; "filteredOptions": { "alias": "filteredOptions"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "cache": { "alias": "cache"; "required": false; }; "selectFirst": { "alias": "selectFirst"; "required": false; }; "sortBy": { "alias": "sortBy"; "required": false; }; "mapper": { "alias": "mapper"; "required": false; }; "defaultOption": { "alias": "defaultOption"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "sorted": { "alias": "sorted"; "required": false; }; "endpoint": { "alias": "endpoint"; "required": false; }; "params": { "alias": "params"; "required": false; }; "projection": { "alias": "projection"; "required": false; }; "loadData": { "alias": "loadData"; "required": false; }; "enumFilter": { "alias": "enumFilter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "searchField": { "alias": "searchField"; "required": false; }; }, { "onValueChange": "change"; "onItemChange": "itemChange"; "onSelected": "selected"; "onItemSelected": "itemSelected"; "onLaunch": "launch"; }, never, never, false, never>;
274
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractSelectFormField<any>, never, never, { "enum": { "alias": "enum"; "required": false; }; "enumMetadata": { "alias": "enumMetadata"; "required": false; }; "textPrefix": { "alias": "textPrefix"; "required": false; }; "optionTextProperty": { "alias": "optionTextProperty"; "required": false; }; "optionValueProperty": { "alias": "optionValueProperty"; "required": false; }; "matIconKey": { "alias": "matIconKey"; "required": false; }; "svgIconKey": { "alias": "svgIconKey"; "required": false; }; "fontSet": { "alias": "fontSet"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "options": { "alias": "options"; "required": false; }; "filteredOptions": { "alias": "filteredOptions"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "cache": { "alias": "cache"; "required": false; }; "selectFirst": { "alias": "selectFirst"; "required": false; }; "sortBy": { "alias": "sortBy"; "required": false; }; "mapper": { "alias": "mapper"; "required": false; }; "optionIcon": { "alias": "optionIcon"; "required": false; }; "defaultOption": { "alias": "defaultOption"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "sorted": { "alias": "sorted"; "required": false; }; "endpoint": { "alias": "endpoint"; "required": false; }; "params": { "alias": "params"; "required": false; }; "projection": { "alias": "projection"; "required": false; }; "loadData": { "alias": "loadData"; "required": false; }; "enumFilter": { "alias": "enumFilter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "searchField": { "alias": "searchField"; "required": false; }; }, { "onValueChange": "change"; "onItemChange": "itemChange"; "onSelected": "selected"; "onItemSelected": "itemSelected"; "onLaunch": "launch"; }, never, never, false, never>;
275
275
  }
@@ -4,6 +4,7 @@ import { DateFilterFn, MatDatepicker } from "@angular/material/datepicker";
4
4
  import { Observable } from "rxjs";
5
5
  import { IGenericFormBaseComponent } from "../../base/interfaces/igeneric-form-base";
6
6
  import { EnumMetadata } from "../../common/models/enum-metadata";
7
+ import { Icon } from "../../common/models/icon";
7
8
  import { SuffixButton } from "../../common/models/suffix-button";
8
9
  import { FormFieldType } from "../enums/form-field-type";
9
10
  export declare class FormFieldDefinition<TEntity = any, TProperty = any> {
@@ -280,6 +281,10 @@ export declare class FormFieldDefinition<TEntity = any, TProperty = any> {
280
281
  * This can be used to display a Material icon in the options list.
281
282
  */
282
283
  optionMatIconProperty?: string;
284
+ /**
285
+ * A function that returns the icon based on the given property, entity, form group, and context.
286
+ */
287
+ optionIcon?: (x: TProperty, y?: TEntity, f?: FormGroup, ctx?: IGenericFormBaseComponent<TEntity>) => Icon<TEntity, any>;
283
288
  /**
284
289
  * The property name in the option object for the SVG icon.
285
290
  * This can be used to display an SVG icon in the options list.
@@ -0,0 +1,14 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FieldFuncPipe implements PipeTransform {
4
+ /**
5
+ * @param groups - Array of FormFieldGroupDefinition instances to filter.
6
+ * @param formValue - The current value of the form.
7
+ * @param form - The FormGroup instance.
8
+ * @param context - The context of the component.
9
+ * @returns Filtered array of FormFieldGroupDefinition instances.
10
+ */
11
+ transform(func: any, ...args: any[]): any;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<FieldFuncPipe, never>;
13
+ static ɵpipe: i0.ɵɵPipeDeclaration<FieldFuncPipe, "fieldFunc", false>;
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messaia/cdk",
3
- "version": "18.0.0-rc15",
3
+ "version": "18.0.0-rc17",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.6",
6
6
  "@angular/core": "^18.0.6"