@decaf-ts/for-angular 0.0.49 → 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
@@ -7138,6 +7123,13 @@ declare class ModalComponent extends NgxParentComponentDirective implements OnIn
7138
7123
  * @default false
7139
7124
  */
7140
7125
  lightBox: boolean;
7126
+ /**
7127
+ * @description Controls the transparency of the modal header.
7128
+ * @summary When set to true, the modal header is rendered with a transparent background.
7129
+ * @type {boolean}
7130
+ * @default false
7131
+ */
7132
+ headerTransparent: boolean;
7141
7133
  /**
7142
7134
  * @description Controls the visibility of the modal header.
7143
7135
  * @summary When set to true, the modal header is displayed; when false, it is hidden.
@@ -7220,7 +7212,7 @@ declare class ModalComponent extends NgxParentComponentDirective implements OnIn
7220
7212
  */
7221
7213
  confirm(event: IBaseCustomEvent): Promise<void>;
7222
7214
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
7223
- static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "ngx-decaf-modal", never, { "title": { "alias": "title"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "tag": { "alias": "tag"; "required": false; }; "options": { "alias": "options"; "required": false; }; "globals": { "alias": "globals"; "required": false; }; "inlineContent": { "alias": "inlineContent"; "required": false; }; "inlineContentPosition": { "alias": "inlineContentPosition"; "required": false; }; "fullscreen": { "alias": "fullscreen"; "required": false; }; "lightBox": { "alias": "lightBox"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; }, { "willDismissEvent": "willDismissEvent"; }, never, never, true, never>;
7215
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "ngx-decaf-modal", never, { "title": { "alias": "title"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "tag": { "alias": "tag"; "required": false; }; "options": { "alias": "options"; "required": false; }; "globals": { "alias": "globals"; "required": false; }; "inlineContent": { "alias": "inlineContent"; "required": false; }; "inlineContentPosition": { "alias": "inlineContentPosition"; "required": false; }; "fullscreen": { "alias": "fullscreen"; "required": false; }; "lightBox": { "alias": "lightBox"; "required": false; }; "headerTransparent": { "alias": "headerTransparent"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; }, { "willDismissEvent": "willDismissEvent"; }, never, never, true, never>;
7224
7216
  }
7225
7217
  /**
7226
7218
  * @description Retrieves a modal component instance.
@@ -7243,15 +7235,25 @@ declare function getNgxModalComponent(props?: Partial<ModalComponent>, modalProp
7243
7235
  */
7244
7236
  declare function presentNgxLightBoxModal(inlineContent: string | SafeHtml, props?: Partial<ModalComponent>, injector?: EnvironmentInjector): Promise<void>;
7245
7237
  /**
7246
- * @description Presents a lightbox modal with inline content.
7247
- * @summary Displays a modal in lightbox mode with the specified content and properties.
7238
+ * @description Presents modal with inline content.
7239
+ * @summary Displays a modal with the specified content and properties.
7248
7240
  *
7249
- * @param {string | SafeHtml} inlineContent - The content to display in the lightbox modal.
7241
+ * @param {string | SafeHtml} inlineContent - The content to display in the modal.
7250
7242
  * @param {Partial<ModalComponent>} [props={}] - Properties to initialize the modal component.
7251
7243
  * @param {EnvironmentInjector} [injector] - Optional environment injector for dependency injection.
7252
7244
  * @returns {Promise<void>} - A promise that resolves when the modal is presented.
7253
7245
  */
7254
7246
  declare function presentNgxInlineModal(inlineContent: string | SafeHtml, props?: Partial<ModalComponent>, injector?: EnvironmentInjector): Promise<void>;
7247
+ /**
7248
+ * @description get modal with inline content instance.
7249
+ * @summary Get modal component instance for show inline content
7250
+ *
7251
+ * @param {string | SafeHtml} inlineContent - The content to display in the lightbox modal.
7252
+ * @param {Partial<ModalComponent>} [props={}] - Properties to initialize the modal component.
7253
+ * @param {EnvironmentInjector} [injector] - Optional environment injector for dependency injection.
7254
+ * @returns {Promise<void>} - A promise that resolves when the modal is presented.
7255
+ */
7256
+ declare function getNgxInlineModal(inlineContent: string | SafeHtml, props?: Partial<ModalComponent>, injector?: EnvironmentInjector): Promise<IonModal>;
7255
7257
  /**
7256
7258
  * @description Retrieves a modal for selecting options.
7257
7259
  * @summary Creates and initializes a modal component for displaying a list of selectable options.
@@ -7484,9 +7486,9 @@ declare class FileUploadComponent extends NgxFormFieldDirective implements OnIni
7484
7486
  * @summary Sets up the component by enabling directory mode if specified, formatting the accepted file types,
7485
7487
  * and converting the maximum file size from megabytes to bytes.
7486
7488
  *
7487
- * @returns {void}
7489
+ * @returns {Promise<void>}
7488
7490
  */
7489
- ngOnInit(): void;
7491
+ ngOnInit(): Promise<void>;
7490
7492
  initialize(): Promise<void>;
7491
7493
  /**
7492
7494
  * @description Lifecycle hook that is called when a directive, pipe, or service is destroyed.
@@ -7509,9 +7511,9 @@ declare class FileUploadComponent extends NgxFormFieldDirective implements OnIni
7509
7511
  * This method is triggered when the user selects files using the file input element.
7510
7512
  *
7511
7513
  * @param {Event} event - The file selection event.
7512
- * @returns {void}
7514
+ * @returns {Promise<void> }
7513
7515
  */
7514
- handleSelection(event: Event): void;
7516
+ handleSelection(event: Event): Promise<void>;
7515
7517
  /**
7516
7518
  * @description Handles the drop event for drag-and-drop file uploads.
7517
7519
  * @summary Processes the files dropped by the user, validates them, and updates the file list.
@@ -7620,7 +7622,7 @@ declare class FileUploadComponent extends NgxFormFieldDirective implements OnIni
7620
7622
  *
7621
7623
  * @returns {Promise<string[] | undefined>} - A promise that resolves to an array of data URLs, or undefined if an error occurs.
7622
7624
  */
7623
- private getDataURLs;
7625
+ getDataURLs(files?: File[] | File): Promise<string[] | undefined>;
7624
7626
  /**
7625
7627
  * @description Validates the format of a data URL.
7626
7628
  * @summary Checks if the data URL is a non-empty string and matches the expected pattern
@@ -8561,6 +8563,15 @@ declare class NgxFormService {
8561
8563
  static reset(formGroup: FormGroup | FormControl): void;
8562
8564
  }
8563
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
+
8564
8575
  declare abstract class NgxEventHandler extends DecafEventHandler {
8565
8576
  constructor();
8566
8577
  refresh(args?: unknown[]): Promise<void>;
@@ -8839,7 +8850,7 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8839
8850
  * @param {string} uid - The unique identifier of the model instance to retrieve
8840
8851
  * @return {Promise<Model | undefined>} Promise resolving to the model instance or undefined
8841
8852
  */
8842
- handleGet(uid?: EventIds, repository?: IRepository<any>, modelName?: string): Promise<Model | undefined>;
8853
+ handleGet(uid?: EventIds, repository?: IRepository<Model>, modelName?: string): Promise<Model | undefined>;
8843
8854
  /**
8844
8855
  * @description Parses and transforms form data for repository operations.
8845
8856
  * @summary Converts raw form data into the appropriate format for repository operations.
@@ -9340,15 +9351,6 @@ declare function provideI18n(config?: RootTranslateServiceConfig, resources?: I1
9340
9351
  };
9341
9352
  } | i0.Provider[])[];
9342
9353
 
9343
- /**
9344
- * @module lib/for-angular-common.module
9345
- * @description Core Angular module and providers for Decaf's for-angular package.
9346
- * @summary Provides the shared Angular module, injection tokens and helper functions used
9347
- * by the for-angular integration. This module wires up common imports (forms, translation)
9348
- * and exposes helper providers such as DB adapter registration and logger utilities.
9349
- * @link {@link ForAngularCommonModule}
9350
- */
9351
-
9352
9354
  declare const DB_ADAPTER_PROVIDER = "DB_ADAPTER_PROVIDER";
9353
9355
  /**
9354
9356
  * @description Injection token for registering the database adapter provider.
@@ -9461,6 +9463,23 @@ declare function getModelAndRepository(model: Model | string): {
9461
9463
  declare function provideDbAdapter<DbAdapter extends {
9462
9464
  flavour: string;
9463
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;
9464
9483
  /**
9465
9484
  * @description Retrieves a logger instance for the given context.
9466
9485
  * @summary Creates or retrieves a namespaced logger instance using the Decaf logging system.
@@ -9522,5 +9541,5 @@ declare class ForAngularCommonModule {
9522
9541
  static ɵinj: i0.ɵɵInjectorDeclaration<ForAngularCommonModule>;
9523
9542
  }
9524
9543
 
9525
- 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, 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 };
9526
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.49",
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": {