@decaf-ts/for-angular 0.0.50 → 0.0.51

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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Type, Injector, ElementRef, EnvironmentInjector, OnChanges, OnDestroy, ChangeDetectorRef, Renderer2, EventEmitter, SimpleChanges, ViewContainerRef, TemplateRef, OnInit, AfterViewInit, ComponentMirror, ComponentRef, InjectionToken, Provider, ModuleWithProviders } from '@angular/core';
2
+ import { Type, Injector, ElementRef, EnvironmentInjector, OnChanges, OnDestroy, ChangeDetectorRef, Renderer2, EventEmitter, SimpleChanges, ViewContainerRef, TemplateRef, OnInit, AfterViewInit, ComponentMirror, ComponentRef, InjectionToken, Provider, EnvironmentProviders, ModuleWithProviders } from '@angular/core';
3
3
  import { IonInput, IonSelect, IonTextarea, IonCheckbox, SpinnerTypes, InfiniteScrollCustomEvent, RefresherCustomEvent, MenuController } from '@ionic/angular';
4
4
  import { TextFieldTypes, SelectInterface, AutocompleteTypes, CheckboxCustomEvent, Color, PredefinedColors, OverlayEventDetail } from '@ionic/core';
5
5
  import * as i2 from '@angular/forms';
@@ -9,7 +9,8 @@ import { FieldProperties, IPagedComponentProperties, CrudOperationKeys, UIFuncti
9
9
  import * as _decaf_ts_decorator_validation from '@decaf-ts/decorator-validation';
10
10
  import { Model, VALIDATION_PARENT_KEY, ModelConstructor } from '@decaf-ts/decorator-validation';
11
11
  import { RepositoryFlags, Context, CrudOperations, OperationKeys, IRepository } from '@decaf-ts/db-decorators';
12
- import { ModalOptions, IonAccordionGroup, ItemReorderEventDetail, IonModal } from '@ionic/angular/standalone';
12
+ import * as _ionic_angular_standalone from '@ionic/angular/standalone';
13
+ import { ModalOptions, ItemReorderEventDetail, IonModal } from '@ionic/angular/standalone';
13
14
  import { Constructor } from '@decaf-ts/decoration';
14
15
  import { Router } from '@angular/router';
15
16
  import * as i1 from '@angular/common';
@@ -466,6 +467,69 @@ interface IFileUploadError {
466
467
  error: string;
467
468
  }
468
469
 
470
+ /**
471
+ * @description Default options for empty list state display.
472
+ * @summary Provides default configuration for displaying empty state in list components
473
+ * when no data is available. Includes default text for title and subtitle, icon name,
474
+ * button text and visibility settings. These defaults can be overridden by individual
475
+ * list component implementations to customize the empty state presentation.
476
+ * @type {IListEmptyOptions}
477
+ * @property {string} title - Default translation key for empty list title
478
+ * @property {string} subtitle - Default translation key for empty list subtitle
479
+ * @property {boolean} showButton - Whether to show action button in empty state
480
+ * @property {string} icon - Default Ionic icon name for empty state
481
+ * @property {string} buttonText - Default translation key for button text
482
+ * @property {string} link - Default navigation link (empty string)
483
+ * @const DefaultListEmptyOptions
484
+ * @memberOf module:lib/engine/constants
485
+ */
486
+ declare const DefaultListEmptyOptions: IListEmptyOptions;
487
+ declare const DefaultModalOptions: ModalOptions;
488
+ declare const ActionRoles: {
489
+ readonly cancel: "cancel";
490
+ readonly confirm: "confirm";
491
+ readonly submit: "submit";
492
+ readonly clear: "clear";
493
+ readonly back: "back";
494
+ };
495
+ declare const WindowColorSchemes: {
496
+ readonly light: "light";
497
+ readonly dark: "dark";
498
+ readonly undefined: "undefined";
499
+ };
500
+ declare const ElementSizes: {
501
+ readonly xsmall: "xsmall";
502
+ readonly small: "small";
503
+ readonly medium: "medium";
504
+ readonly default: "default";
505
+ readonly large: "large";
506
+ readonly xLarge: "xlarge";
507
+ readonly '2xLarge': "2xlarge";
508
+ readonly auto: "auto";
509
+ readonly expand: "expand";
510
+ readonly block: "block";
511
+ };
512
+ declare const ElementPositions: {
513
+ readonly left: "left";
514
+ readonly center: "center";
515
+ readonly right: "right";
516
+ readonly top: "top";
517
+ readonly bottom: "bottom";
518
+ };
519
+ declare const LayoutGridGaps: {
520
+ readonly small: "small";
521
+ readonly medium: "medium";
522
+ readonly large: "large";
523
+ readonly collapse: "collapse";
524
+ readonly none: "";
525
+ };
526
+ declare const ListItemPositions: {
527
+ readonly uid: "uid";
528
+ readonly title: "title";
529
+ readonly description: "description";
530
+ readonly info: "info";
531
+ readonly subinfo: "subinfo";
532
+ };
469
533
  /**
470
534
  * @description Angular engine key constants.
471
535
  * @summary Contains key strings used by the Angular rendering engine for reflection,
@@ -697,69 +761,6 @@ declare const CssClasses: {
697
761
  * @memberOf module:lib/engine/constants
698
762
  */
699
763
  declare const DefaultFormReactiveOptions: ICrudFormOptions;
700
- /**
701
- * @description Default options for empty list state display.
702
- * @summary Provides default configuration for displaying empty state in list components
703
- * when no data is available. Includes default text for title and subtitle, icon name,
704
- * button text and visibility settings. These defaults can be overridden by individual
705
- * list component implementations to customize the empty state presentation.
706
- * @type {IListEmptyOptions}
707
- * @property {string} title - Default translation key for empty list title
708
- * @property {string} subtitle - Default translation key for empty list subtitle
709
- * @property {boolean} showButton - Whether to show action button in empty state
710
- * @property {string} icon - Default Ionic icon name for empty state
711
- * @property {string} buttonText - Default translation key for button text
712
- * @property {string} link - Default navigation link (empty string)
713
- * @const DefaultListEmptyOptions
714
- * @memberOf module:lib/engine/constants
715
- */
716
- declare const DefaultListEmptyOptions: IListEmptyOptions;
717
- declare const DefaultModalOptions: ModalOptions;
718
- declare const ActionRoles: {
719
- readonly cancel: "cancel";
720
- readonly confirm: "confirm";
721
- readonly submit: "submit";
722
- readonly clear: "clear";
723
- readonly back: "back";
724
- };
725
- declare const WindowColorSchemes: {
726
- readonly light: "light";
727
- readonly dark: "dark";
728
- readonly undefined: "undefined";
729
- };
730
- declare const ElementSizes: {
731
- readonly xsmall: "xsmall";
732
- readonly small: "small";
733
- readonly medium: "medium";
734
- readonly default: "default";
735
- readonly large: "large";
736
- readonly xLarge: "xlarge";
737
- readonly '2xLarge': "2xlarge";
738
- readonly auto: "auto";
739
- readonly expand: "expand";
740
- readonly block: "block";
741
- };
742
- declare const ElementPositions: {
743
- readonly left: "left";
744
- readonly center: "center";
745
- readonly right: "right";
746
- readonly top: "top";
747
- readonly bottom: "bottom";
748
- };
749
- declare const LayoutGridGaps: {
750
- readonly small: "small";
751
- readonly medium: "medium";
752
- readonly large: "large";
753
- readonly collapse: "collapse";
754
- readonly none: "";
755
- };
756
- declare const ListItemPositions: {
757
- readonly uid: "uid";
758
- readonly title: "title";
759
- readonly description: "description";
760
- readonly info: "info";
761
- readonly subinfo: "subinfo";
762
- };
763
764
 
764
765
  /**
765
766
  * @module module:lib/engine/types
@@ -1753,7 +1754,7 @@ declare abstract class NgxComponentDirective extends DecafComponent implements O
1753
1754
  * end
1754
1755
  * @memberOf module:lib/engine/NgxComponentDirective
1755
1756
  */
1756
- handleEvent(event: IBaseCustomEvent | ICrudFormEvent | CustomEvent, repository?: DecafRepository<Model>): Promise<void>;
1757
+ handleEvent(event: IBaseCustomEvent | ICrudFormEvent | CustomEvent): Promise<void>;
1757
1758
  /**
1758
1759
  * @description Determines if a specific operation is allowed in the current context.
1759
1760
  * @summary This method checks if an operation is included in the list of available
@@ -2778,6 +2779,16 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
2778
2779
  * @memberOf CrudFieldComponent
2779
2780
  */
2780
2781
  spellcheck: boolean;
2782
+ /**
2783
+ * @description Spellcheck attribute for text inputs.
2784
+ * @summary Enables or disables spellchecking for text inputs.
2785
+ * When true, the browser will check the spelling of the input text.
2786
+ *
2787
+ * @type {boolean}
2788
+ * @default false
2789
+ * @memberOf CrudFieldComponent
2790
+ */
2791
+ startEmpty: boolean;
2781
2792
  /**
2782
2793
  * @description Input mode for text inputs.
2783
2794
  * @summary Hints at the type of data that might be entered by the user while editing the element.
@@ -2905,6 +2916,18 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
2905
2916
  * @memberOf CrudFieldComponent
2906
2917
  */
2907
2918
  getOptions(): Promise<CrudFieldOption[]>;
2919
+ /**
2920
+ * Handles the opening of select options based on the specified interface type.
2921
+ * If the `selectInterface` is 'modal', it prevents the default event behavior,
2922
+ * stops propagation, and opens a modal to display the select options.
2923
+ * Once the modal is dismissed, it sets the selected value if the action role
2924
+ * is confirmed and the selected value differs from the current value.
2925
+ *
2926
+ * @param {Event} event - The event triggered by the user interaction.
2927
+ * @param {SelectInterface} selectInterface - The interface type for displaying select options.
2928
+ * Currently supports 'modal'.
2929
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
2930
+ */
2908
2931
  openSelectOptions(event: Event, selectInterface: SelectInterface): Promise<void>;
2909
2932
  /**
2910
2933
  * @description Component after view initialization lifecycle method.
@@ -2940,7 +2963,7 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
2940
2963
  */
2941
2964
  handleFieldsetUpdateGroupEvent(event: CustomEvent): void;
2942
2965
  static ɵfac: i0.ɵɵFactoryDeclaration<CrudFieldComponent, never>;
2943
- static ɵcmp: i0.ɵɵComponentDeclaration<CrudFieldComponent, "ngx-decaf-crud-field", never, { "operation": { "alias": "operation"; "required": true; }; "name": { "alias": "name"; "required": true; }; "className": { "alias": "className"; "required": false; }; "path": { "alias": "path"; "required": true; }; "childOf": { "alias": "childOf"; "required": false; }; "type": { "alias": "type"; "required": true; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "format": { "alias": "format"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "step": { "alias": "step"; "required": false; }; "equals": { "alias": "equals"; "required": false; }; "different": { "alias": "different"; "required": false; }; "lessThan": { "alias": "lessThan"; "required": false; }; "lessThanOrEqual": { "alias": "lessThanOrEqual"; "required": false; }; "greaterThan": { "alias": "greaterThan"; "required": false; }; "greaterThanOrEqual": { "alias": "greaterThanOrEqual"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "interface": { "alias": "interface"; "required": false; }; "options": { "alias": "options"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "spellcheck": { "alias": "spellcheck"; "required": false; }; "inputmode": { "alias": "inputmode"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "page": { "alias": "page"; "required": false; }; "translatable": { "alias": "translatable"; "required": false; }; }, {}, never, never, true, never>;
2966
+ static ɵcmp: i0.ɵɵComponentDeclaration<CrudFieldComponent, "ngx-decaf-crud-field", never, { "operation": { "alias": "operation"; "required": true; }; "name": { "alias": "name"; "required": true; }; "className": { "alias": "className"; "required": false; }; "path": { "alias": "path"; "required": true; }; "childOf": { "alias": "childOf"; "required": false; }; "type": { "alias": "type"; "required": true; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "format": { "alias": "format"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "step": { "alias": "step"; "required": false; }; "equals": { "alias": "equals"; "required": false; }; "different": { "alias": "different"; "required": false; }; "lessThan": { "alias": "lessThan"; "required": false; }; "lessThanOrEqual": { "alias": "lessThanOrEqual"; "required": false; }; "greaterThan": { "alias": "greaterThan"; "required": false; }; "greaterThanOrEqual": { "alias": "greaterThanOrEqual"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "interface": { "alias": "interface"; "required": false; }; "options": { "alias": "options"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "spellcheck": { "alias": "spellcheck"; "required": false; }; "startEmpty": { "alias": "startEmpty"; "required": false; }; "inputmode": { "alias": "inputmode"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "page": { "alias": "page"; "required": false; }; "translatable": { "alias": "translatable"; "required": false; }; }, {}, never, never, true, never>;
2944
2967
  }
2945
2968
 
2946
2969
  /**
@@ -3111,21 +3134,7 @@ declare abstract class NgxFormDirective extends NgxParentComponentDirective impl
3111
3134
  * @type {FormGroup}
3112
3135
  */
3113
3136
  parentFormId: string;
3114
- /**
3115
- * @description Indicates whether this form is being used inside a modal dialog.
3116
- * @summary When true, the form may alter its submit/reset behavior to integrate
3117
- * with modal lifecycle (for example, emitting cancel events instead of
3118
- * navigating back). Useful for components rendered inside Ionic/Angular
3119
- * modal containers where navigation/back behavior differs from standard pages.
3120
- *
3121
- * Typical effects:
3122
- * - `handleReset` will emit a cancel event instead of performing a navigation
3123
- * - `ngAfterViewInit` checks for modal context to adjust change detection
3124
- *
3125
- * @type {boolean}
3126
- * @default false
3127
- */
3128
- modalForm: boolean;
3137
+ deepMerge: boolean;
3129
3138
  /**
3130
3139
  * @description Reference to the reactive form DOM element.
3131
3140
  * @summary ViewChild reference that provides direct access to the form's DOM element.
@@ -3302,7 +3311,7 @@ declare abstract class NgxFormDirective extends NgxParentComponentDirective impl
3302
3311
  */
3303
3312
  protected getActivePage(page: number): UIModelMetadata | UIModelMetadata[] | FieldDefinition | undefined;
3304
3313
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxFormDirective, never>;
3305
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgxFormDirective, never, never, { "parentFormId": { "alias": "parentFormId"; "required": false; }; "modalForm": { "alias": "modalForm"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "target": { "alias": "target"; "required": false; }; "method": { "alias": "method"; "required": false; }; "options": { "alias": "options"; "required": false; }; "action": { "alias": "action"; "required": false; }; "operation": { "alias": "operation"; "required": true; }; "handlers": { "alias": "handlers"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "rendererId": { "alias": "rendererId"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "match": { "alias": "match"; "required": false; }; }, { "submitEvent": "submitEvent"; }, never, never, true, never>;
3314
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgxFormDirective, never, never, { "parentFormId": { "alias": "parentFormId"; "required": false; }; "deepMerge": { "alias": "deepMerge"; "required": false; }; "updateOn": { "alias": "updateOn"; "required": false; }; "target": { "alias": "target"; "required": false; }; "method": { "alias": "method"; "required": false; }; "options": { "alias": "options"; "required": false; }; "action": { "alias": "action"; "required": false; }; "operation": { "alias": "operation"; "required": true; }; "handlers": { "alias": "handlers"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "rendererId": { "alias": "rendererId"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "match": { "alias": "match"; "required": false; }; }, { "submitEvent": "submitEvent"; }, never, never, true, never>;
3306
3315
  }
3307
3316
 
3308
3317
  declare class CrudFormComponent extends NgxFormDirective {
@@ -3330,7 +3339,7 @@ declare class CrudFormComponent extends NgxFormDirective {
3330
3339
  */
3331
3340
  handleDelete(): void;
3332
3341
  static ɵfac: i0.ɵɵFactoryDeclaration<CrudFormComponent, never>;
3333
- static ɵcmp: i0.ɵɵComponentDeclaration<CrudFormComponent, "ngx-decaf-crud-form", never, {}, {}, never, ["*", "*"], true, never>;
3342
+ static ɵcmp: i0.ɵɵComponentDeclaration<CrudFormComponent, "ngx-decaf-crud-form", never, {}, {}, never, ["*"], true, never>;
3334
3343
  }
3335
3344
 
3336
3345
  /**
@@ -3844,17 +3853,6 @@ declare class EmptyStateComponent extends CardComponent implements OnInit {
3844
3853
  * @memberOf FieldsetComponent
3845
3854
  */
3846
3855
  declare class FieldsetComponent extends NgxFormDirective implements OnInit, AfterViewInit {
3847
- /**
3848
- * @description Reference to the ion-accordion-group component for programmatic control.
3849
- * @summary ViewChild reference that provides direct access to the Ionic accordion group component.
3850
- * This enables programmatic control over the accordion's expand/collapse state, allowing
3851
- * the component to open/close the accordion based on validation errors, CRUD operations,
3852
- * or other business logic requirements.
3853
- *
3854
- * @type {IonAccordionGroup}
3855
- * @memberOf FieldsetComponent
3856
- */
3857
- accordionComponent: IonAccordionGroup;
3858
3856
  /**
3859
3857
  * @description The display name or title of the fieldset section.
3860
3858
  * @summary Sets the legend or header text that appears in the accordion header. This text
@@ -3877,16 +3875,6 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
3877
3875
  * @default 'Child'
3878
3876
  * @memberOf FieldsetComponent
3879
3877
  */
3880
- collapsable: boolean;
3881
- /**
3882
- * @description Custom type definitions for specialized fieldset behavior.
3883
- * @summary Defines custom data types or validation rules that should be applied to this fieldset.
3884
- * Can be a single type string or array of types that determine how the fieldset handles
3885
- * data validation, formatting, and display behavior for specialized use cases.
3886
- *
3887
- * @type {string | string[]}
3888
- * @memberOf FieldsetComponent
3889
- */
3890
3878
  customTypes: string | string[];
3891
3879
  /**
3892
3880
  * @description Primary title text for the fieldset content.
@@ -4215,18 +4203,6 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
4215
4203
  *
4216
4204
  * @memberOf FieldsetComponent
4217
4205
  */
4218
- /**
4219
- * @description Handles accordion toggle functionality with validation error consideration.
4220
- * @summary Manages the expand/collapse state of the accordion while respecting validation error states.
4221
- * When validation errors are present, the accordion cannot be collapsed to ensure users can see
4222
- * and address the errors. When no errors exist, users can freely toggle the accordion state.
4223
- * This method also stops event propagation to prevent unwanted side effects.
4224
- *
4225
- * @param {CustomEvent} [event] - Optional event object from user interaction
4226
- * @returns {void}
4227
- * @memberOf FieldsetComponent
4228
- */
4229
- handleAccordionToggle(event?: CustomEvent): void;
4230
4206
  /**
4231
4207
  * @description Handles validation error events from child form fields.
4232
4208
  * @summary Processes validation error events dispatched by form fields within the fieldset.
@@ -4263,7 +4239,7 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
4263
4239
  */
4264
4240
  private getMapper;
4265
4241
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldsetComponent, never>;
4266
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldsetComponent, "ngx-decaf-fieldset", never, { "formControl": { "alias": "formControl"; "required": false; }; "collapsable": { "alias": "collapsable"; "required": false; }; "customTypes": { "alias": "customTypes"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "value": { "alias": "value"; "required": false; }; "borders": { "alias": "borders"; "required": false; }; "max": { "alias": "max"; "required": false; }; "required": { "alias": "required"; "required": false; }; "ordenable": { "alias": "ordenable"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; }, {}, never, never, true, never>;
4242
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldsetComponent, "ngx-decaf-fieldset", never, { "formControl": { "alias": "formControl"; "required": false; }; "customTypes": { "alias": "customTypes"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "value": { "alias": "value"; "required": false; }; "borders": { "alias": "borders"; "required": false; }; "max": { "alias": "max"; "required": false; }; "required": { "alias": "required"; "required": false; }; "ordenable": { "alias": "ordenable"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; }, {}, never, never, true, never>;
4267
4243
  }
4268
4244
 
4269
4245
  /**
@@ -4339,6 +4315,14 @@ declare class FilterComponent extends NgxComponentDirective implements OnInit, O
4339
4315
  * @memberOf FilterComponent
4340
4316
  */
4341
4317
  indexes: string[];
4318
+ /**
4319
+ * @description Allows multiple filters to be added.
4320
+ * @summary When true, users can add multiple filters; when false, only one filter is allowed.
4321
+ *
4322
+ * @type {boolean}
4323
+ * @default true
4324
+ * @memberOf FilterComponent
4325
+ */
4342
4326
  multiple: boolean;
4343
4327
  /**
4344
4328
  * @description Available comparison conditions for filters.
@@ -4503,6 +4487,7 @@ declare class FilterComponent extends NgxComponentDirective implements OnInit, O
4503
4487
  * @memberOf FilterComponent
4504
4488
  */
4505
4489
  searchEvent: EventEmitter<string>;
4490
+ inputElement: HTMLInputElement;
4506
4491
  /**
4507
4492
  * @description Constructor for FilterComponent.
4508
4493
  * @summary Initializes a new instance of the FilterComponent.
@@ -5691,7 +5676,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5691
5676
  *
5692
5677
  * @memberOf ListComponent
5693
5678
  */
5694
- protected parseResult(result: KeyValue[] | Paginator<any>): Promise<KeyValue[]>;
5679
+ protected parseResult(result: KeyValue[] | Paginator<Model>): Promise<KeyValue[]>;
5695
5680
  /**
5696
5681
  * @description Updates pagination state based on data length.
5697
5682
  * @summary Calculates whether more data is available and how many pages exist
@@ -7501,9 +7486,9 @@ declare class FileUploadComponent extends NgxFormFieldDirective implements OnIni
7501
7486
  * @summary Sets up the component by enabling directory mode if specified, formatting the accepted file types,
7502
7487
  * and converting the maximum file size from megabytes to bytes.
7503
7488
  *
7504
- * @returns {void}
7489
+ * @returns {Promise<void>}
7505
7490
  */
7506
- ngOnInit(): void;
7491
+ ngOnInit(): Promise<void>;
7507
7492
  initialize(): Promise<void>;
7508
7493
  /**
7509
7494
  * @description Lifecycle hook that is called when a directive, pipe, or service is destroyed.
@@ -7526,9 +7511,9 @@ declare class FileUploadComponent extends NgxFormFieldDirective implements OnIni
7526
7511
  * This method is triggered when the user selects files using the file input element.
7527
7512
  *
7528
7513
  * @param {Event} event - The file selection event.
7529
- * @returns {void}
7514
+ * @returns {Promise<void> }
7530
7515
  */
7531
- handleSelection(event: Event): void;
7516
+ handleSelection(event: Event): Promise<void>;
7532
7517
  /**
7533
7518
  * @description Handles the drop event for drag-and-drop file uploads.
7534
7519
  * @summary Processes the files dropped by the user, validates them, and updates the file list.
@@ -8578,6 +8563,15 @@ declare class NgxFormService {
8578
8563
  static reset(formGroup: FormGroup | FormControl): void;
8579
8564
  }
8580
8565
 
8566
+ /**
8567
+ * @module module:lib/engine/NgxEventHandler
8568
+ * @description Event handler base class used by Decaf components.
8569
+ * @summary Defines NgxEventHandler which standardizes event handling logic and provides
8570
+ * logging support for handlers that process custom events emitted by components.
8571
+ *
8572
+ * @link {@link NgxEventHandler}
8573
+ */
8574
+
8581
8575
  declare abstract class NgxEventHandler extends DecafEventHandler {
8582
8576
  constructor();
8583
8577
  refresh(args?: unknown[]): Promise<void>;
@@ -8856,7 +8850,7 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8856
8850
  * @param {string} uid - The unique identifier of the model instance to retrieve
8857
8851
  * @return {Promise<Model | undefined>} Promise resolving to the model instance or undefined
8858
8852
  */
8859
- handleGet(uid?: EventIds, repository?: IRepository<any>, modelName?: string): Promise<Model | undefined>;
8853
+ handleGet(uid?: EventIds, repository?: IRepository<Model>, modelName?: string): Promise<Model | undefined>;
8860
8854
  /**
8861
8855
  * @description Parses and transforms form data for repository operations.
8862
8856
  * @summary Converts raw form data into the appropriate format for repository operations.
@@ -9357,15 +9351,6 @@ declare function provideI18n(config?: RootTranslateServiceConfig, resources?: I1
9357
9351
  };
9358
9352
  } | i0.Provider[])[];
9359
9353
 
9360
- /**
9361
- * @module lib/for-angular-common.module
9362
- * @description Core Angular module and providers for Decaf's for-angular package.
9363
- * @summary Provides the shared Angular module, injection tokens and helper functions used
9364
- * by the for-angular integration. This module wires up common imports (forms, translation)
9365
- * and exposes helper providers such as DB adapter registration and logger utilities.
9366
- * @link {@link ForAngularCommonModule}
9367
- */
9368
-
9369
9354
  declare const DB_ADAPTER_PROVIDER = "DB_ADAPTER_PROVIDER";
9370
9355
  /**
9371
9356
  * @description Injection token for registering the database adapter provider.
@@ -9478,6 +9463,23 @@ declare function getModelAndRepository(model: Model | string): {
9478
9463
  declare function provideDbAdapter<DbAdapter extends {
9479
9464
  flavour: string;
9480
9465
  }>(clazz: Constructor<DbAdapter>, options?: KeyValue, flavour?: string): Provider;
9466
+ /**
9467
+ * Creates a custom page transition animation using the Ionic `AnimationController`.
9468
+ *
9469
+ * @param baseEl - The base HTML element for the animation.
9470
+ * @param opts - Optional parameters for the animation, including:
9471
+ * - `enteringEl`: The HTML element that is entering the view.
9472
+ * - `leavingEl`: The HTML element that is leaving the view.
9473
+ *
9474
+ * @returns An object containing the `navAnimation`, which is a composed animation
9475
+ * of the entering and leaving animations.
9476
+ *
9477
+ * The entering animation fades in and slides the element upwards, while the leaving
9478
+ * animation fades out and slides the element downwards. Both animations use a cubic-bezier
9479
+ * easing function for smooth transitions.
9480
+ */
9481
+ declare const decafPageTransition: (baseEl: HTMLElement, opts?: KeyValue) => _ionic_angular_standalone.Animation;
9482
+ declare function provideDecafPageTransition(): EnvironmentProviders;
9481
9483
  /**
9482
9484
  * @description Retrieves a logger instance for the given context.
9483
9485
  * @summary Creates or retrieves a namespaced logger instance using the Decaf logging system.
@@ -9539,5 +9541,5 @@ declare class ForAngularCommonModule {
9539
9541
  static ɵinj: i0.ɵɵInjectorDeclaration<ForAngularCommonModule>;
9540
9542
  }
9541
9543
 
9542
- export { ActionRoles, AngularEngineKeys, BaseComponentProps, CPTKN, CardComponent, ComponentEventNames, ComponentRendererComponent, ComponentsTagNames, CrudFieldComponent, CrudFormComponent, CssClasses, DB_ADAPTER_PROVIDER, DB_ADAPTER_PROVIDER_TOKEN, DecafFakerRepository, DefaultFormReactiveOptions, DefaultListEmptyOptions, DefaultModalOptions, Dynamic, DynamicModule, ElementPositions, ElementSizes, EmptyStateComponent, FieldsetComponent, FileUploadComponent, FilterComponent, ForAngularCommonModule, ForAngularComponentsModule, FormConstants, I18N_CONFIG_TOKEN, I18nLoader, I18nLoaderFactory, I18nParser, IconComponent, LOCALE_ROOT_TOKEN, LayoutComponent, LayoutGridGaps, ListComponent, ListComponentsTypes, ListItemComponent, ListItemPositions, LoggerLevels, ModalComponent, ModelRendererComponent, NgxComponentDirective, NgxEventHandler, NgxFormDirective, NgxFormFieldDirective, NgxFormService, NgxMediaService, NgxModelPageDirective, NgxPageDirective, NgxParentComponentDirective, NgxRenderingEngine, NgxSvgDirective, PaginationComponent, RouteDirections, SearchbarComponent, SteppedFormComponent, WindowColorSchemes, cleanSpaces, dataMapper, filterString, formatDate, generateRandomValue, getFakerData, getInjectablesRegistry, getLocaleContext, getLocaleContextByKey, getLocaleFromClassName, getLocaleLanguage, getLogger, getModelAndRepository, getNgxInlineModal, getNgxModalComponent, getNgxSelectOptionsModal, getOnWindow, getOnWindowDocument, getWindow, getWindowDocument, getWindowWidth, isDarkMode, isDevelopmentMode, isNotUndefined, isValidDate, itemMapper, parseToValidDate, presentNgxInlineModal, presentNgxLightBoxModal, provideDbAdapter, provideDynamicComponents, provideI18n, provideI18nLoader, removeFocusTrap, setOnWindow, stringToBoolean, windowEventEmitter };
9544
+ export { ActionRoles, AngularEngineKeys, BaseComponentProps, CPTKN, CardComponent, ComponentEventNames, ComponentRendererComponent, ComponentsTagNames, CrudFieldComponent, CrudFormComponent, CssClasses, DB_ADAPTER_PROVIDER, DB_ADAPTER_PROVIDER_TOKEN, DecafFakerRepository, DefaultFormReactiveOptions, DefaultListEmptyOptions, DefaultModalOptions, Dynamic, DynamicModule, ElementPositions, ElementSizes, EmptyStateComponent, FieldsetComponent, FileUploadComponent, FilterComponent, ForAngularCommonModule, ForAngularComponentsModule, FormConstants, I18N_CONFIG_TOKEN, I18nLoader, I18nLoaderFactory, I18nParser, IconComponent, LOCALE_ROOT_TOKEN, LayoutComponent, LayoutGridGaps, ListComponent, ListComponentsTypes, ListItemComponent, ListItemPositions, LoggerLevels, ModalComponent, ModelRendererComponent, NgxComponentDirective, NgxEventHandler, NgxFormDirective, NgxFormFieldDirective, NgxFormService, NgxMediaService, NgxModelPageDirective, NgxPageDirective, NgxParentComponentDirective, NgxRenderingEngine, NgxSvgDirective, PaginationComponent, RouteDirections, SearchbarComponent, SteppedFormComponent, WindowColorSchemes, cleanSpaces, dataMapper, decafPageTransition, filterString, formatDate, generateRandomValue, getFakerData, getInjectablesRegistry, getLocaleContext, getLocaleContextByKey, getLocaleFromClassName, getLocaleLanguage, getLogger, getModelAndRepository, getNgxInlineModal, getNgxModalComponent, getNgxSelectOptionsModal, getOnWindow, getOnWindowDocument, getWindow, getWindowDocument, getWindowWidth, isDarkMode, isDevelopmentMode, isNotUndefined, isValidDate, itemMapper, parseToValidDate, presentNgxInlineModal, presentNgxLightBoxModal, provideDbAdapter, provideDecafPageTransition, provideDynamicComponents, provideI18n, provideI18nLoader, removeFocusTrap, setOnWindow, stringToBoolean, windowEventEmitter };
9543
9545
  export type { ActionRole, AngularDynamicOutput, AngularFieldDefinition, CheckboxOption, ComponentMetadata, CrudFieldOption, DecafRepository, DecafRepositoryAdapter, ElementPosition, ElementSize, FieldUpdateMode, FlexPosition, FormParent, FormParentGroup, FormServiceControl, FormServiceControls, FunctionLike, HTML5InputType, HTMLFormTarget, I18nResourceConfig, I18nResourceConfigType, I18nToken, IBaseCustomEvent, IComponentConfig, IComponentHolder, IComponentProperties, ICrudFormEvent, ICrudFormOptions, IFieldSetItem, IFieldSetValidationEvent, IFileUploadError, IFilterQuery, IFilterQueryItem, IFormComponentProperties, IFormElement, IFormReactiveSubmitEvent, IListComponentRefreshEvent, IListEmptyOptions, IMenuItem, IModelPageCustomEvent, IPaginationCustomEvent, IRenderedModel, ISortObject, IWindowResizeEvent, InputOption, KeyValue, LayoutGridGap, ListItemCustomEvent, ListItemPosition, PossibleInputTypes, RadioOption, RawQuery, SelectOption, StringOrBoolean, WindowColorScheme };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-angular",
3
- "version": "0.0.50",
3
+ "version": "0.0.51",
4
4
  "author": "Tiago Venceslau and Contributors",
5
5
  "license": "MPL-2.0 OR AGPL-3.0",
6
6
  "repository": {