@decaf-ts/for-angular 0.0.50 → 0.0.52

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.
@@ -2885,6 +2896,7 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
2885
2896
  * @memberOf CrudFieldComponent
2886
2897
  */
2887
2898
  translatable: StringOrBoolean;
2899
+ constructor();
2888
2900
  /**
2889
2901
  * @description Component initialization lifecycle method.
2890
2902
  * @summary Initializes the field component based on the operation type and field configuration.
@@ -2905,6 +2917,18 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
2905
2917
  * @memberOf CrudFieldComponent
2906
2918
  */
2907
2919
  getOptions(): Promise<CrudFieldOption[]>;
2920
+ /**
2921
+ * Handles the opening of select options based on the specified interface type.
2922
+ * If the `selectInterface` is 'modal', it prevents the default event behavior,
2923
+ * stops propagation, and opens a modal to display the select options.
2924
+ * Once the modal is dismissed, it sets the selected value if the action role
2925
+ * is confirmed and the selected value differs from the current value.
2926
+ *
2927
+ * @param {Event} event - The event triggered by the user interaction.
2928
+ * @param {SelectInterface} selectInterface - The interface type for displaying select options.
2929
+ * Currently supports 'modal'.
2930
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
2931
+ */
2908
2932
  openSelectOptions(event: Event, selectInterface: SelectInterface): Promise<void>;
2909
2933
  /**
2910
2934
  * @description Component after view initialization lifecycle method.
@@ -2940,7 +2964,7 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
2940
2964
  */
2941
2965
  handleFieldsetUpdateGroupEvent(event: CustomEvent): void;
2942
2966
  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>;
2967
+ 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
2968
  }
2945
2969
 
2946
2970
  /**
@@ -3111,21 +3135,7 @@ declare abstract class NgxFormDirective extends NgxParentComponentDirective impl
3111
3135
  * @type {FormGroup}
3112
3136
  */
3113
3137
  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;
3138
+ deepMerge: boolean;
3129
3139
  /**
3130
3140
  * @description Reference to the reactive form DOM element.
3131
3141
  * @summary ViewChild reference that provides direct access to the form's DOM element.
@@ -3302,7 +3312,7 @@ declare abstract class NgxFormDirective extends NgxParentComponentDirective impl
3302
3312
  */
3303
3313
  protected getActivePage(page: number): UIModelMetadata | UIModelMetadata[] | FieldDefinition | undefined;
3304
3314
  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>;
3315
+ 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
3316
  }
3307
3317
 
3308
3318
  declare class CrudFormComponent extends NgxFormDirective {
@@ -3330,7 +3340,7 @@ declare class CrudFormComponent extends NgxFormDirective {
3330
3340
  */
3331
3341
  handleDelete(): void;
3332
3342
  static ɵfac: i0.ɵɵFactoryDeclaration<CrudFormComponent, never>;
3333
- static ɵcmp: i0.ɵɵComponentDeclaration<CrudFormComponent, "ngx-decaf-crud-form", never, {}, {}, never, ["*", "*"], true, never>;
3343
+ static ɵcmp: i0.ɵɵComponentDeclaration<CrudFormComponent, "ngx-decaf-crud-form", never, {}, {}, never, ["*"], true, never>;
3334
3344
  }
3335
3345
 
3336
3346
  /**
@@ -3844,17 +3854,6 @@ declare class EmptyStateComponent extends CardComponent implements OnInit {
3844
3854
  * @memberOf FieldsetComponent
3845
3855
  */
3846
3856
  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
3857
  /**
3859
3858
  * @description The display name or title of the fieldset section.
3860
3859
  * @summary Sets the legend or header text that appears in the accordion header. This text
@@ -3877,16 +3876,6 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
3877
3876
  * @default 'Child'
3878
3877
  * @memberOf FieldsetComponent
3879
3878
  */
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
3879
  customTypes: string | string[];
3891
3880
  /**
3892
3881
  * @description Primary title text for the fieldset content.
@@ -4215,18 +4204,6 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
4215
4204
  *
4216
4205
  * @memberOf FieldsetComponent
4217
4206
  */
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
4207
  /**
4231
4208
  * @description Handles validation error events from child form fields.
4232
4209
  * @summary Processes validation error events dispatched by form fields within the fieldset.
@@ -4263,7 +4240,7 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
4263
4240
  */
4264
4241
  private getMapper;
4265
4242
  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>;
4243
+ 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
4244
  }
4268
4245
 
4269
4246
  /**
@@ -4339,6 +4316,14 @@ declare class FilterComponent extends NgxComponentDirective implements OnInit, O
4339
4316
  * @memberOf FilterComponent
4340
4317
  */
4341
4318
  indexes: string[];
4319
+ /**
4320
+ * @description Allows multiple filters to be added.
4321
+ * @summary When true, users can add multiple filters; when false, only one filter is allowed.
4322
+ *
4323
+ * @type {boolean}
4324
+ * @default true
4325
+ * @memberOf FilterComponent
4326
+ */
4342
4327
  multiple: boolean;
4343
4328
  /**
4344
4329
  * @description Available comparison conditions for filters.
@@ -4503,6 +4488,7 @@ declare class FilterComponent extends NgxComponentDirective implements OnInit, O
4503
4488
  * @memberOf FilterComponent
4504
4489
  */
4505
4490
  searchEvent: EventEmitter<string>;
4491
+ inputElement: HTMLInputElement;
4506
4492
  /**
4507
4493
  * @description Constructor for FilterComponent.
4508
4494
  * @summary Initializes a new instance of the FilterComponent.
@@ -5691,7 +5677,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5691
5677
  *
5692
5678
  * @memberOf ListComponent
5693
5679
  */
5694
- protected parseResult(result: KeyValue[] | Paginator<any>): Promise<KeyValue[]>;
5680
+ protected parseResult(result: KeyValue[] | Paginator<Model>): Promise<KeyValue[]>;
5695
5681
  /**
5696
5682
  * @description Updates pagination state based on data length.
5697
5683
  * @summary Calculates whether more data is available and how many pages exist
@@ -5797,6 +5783,7 @@ declare class ListItemComponent extends NgxComponentDirective implements OnInit,
5797
5783
  * @memberOf ListItemComponent
5798
5784
  */
5799
5785
  actionMenuComponent: HTMLIonPopoverElement;
5786
+ actionsType: 'popover' | 'inline';
5800
5787
  /**
5801
5788
  * @description Controls the display of lines around the list item.
5802
5789
  * @summary Determines how lines are displayed around the list item borders.
@@ -6120,7 +6107,7 @@ declare class ListItemComponent extends NgxComponentDirective implements OnInit,
6120
6107
  */
6121
6108
  presentActionsMenu(event: Event): void;
6122
6109
  static ɵfac: i0.ɵɵFactoryDeclaration<ListItemComponent, never>;
6123
- static ɵcmp: i0.ɵɵComponentDeclaration<ListItemComponent, "ngx-decaf-list-item", never, { "lines": { "alias": "lines"; "required": false; }; "item": { "alias": "item"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconSlot": { "alias": "iconSlot"; "required": false; }; "button": { "alias": "button"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "info": { "alias": "info"; "required": false; }; "subinfo": { "alias": "subinfo"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, ["[slot='end']"], true, never>;
6110
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListItemComponent, "ngx-decaf-list-item", never, { "actionsType": { "alias": "actionsType"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "item": { "alias": "item"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconSlot": { "alias": "iconSlot"; "required": false; }; "button": { "alias": "button"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "info": { "alias": "info"; "required": false; }; "subinfo": { "alias": "subinfo"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, ["[slot='end']"], true, never>;
6124
6111
  }
6125
6112
 
6126
6113
  /**
@@ -7501,9 +7488,9 @@ declare class FileUploadComponent extends NgxFormFieldDirective implements OnIni
7501
7488
  * @summary Sets up the component by enabling directory mode if specified, formatting the accepted file types,
7502
7489
  * and converting the maximum file size from megabytes to bytes.
7503
7490
  *
7504
- * @returns {void}
7491
+ * @returns {Promise<void>}
7505
7492
  */
7506
- ngOnInit(): void;
7493
+ ngOnInit(): Promise<void>;
7507
7494
  initialize(): Promise<void>;
7508
7495
  /**
7509
7496
  * @description Lifecycle hook that is called when a directive, pipe, or service is destroyed.
@@ -7526,9 +7513,9 @@ declare class FileUploadComponent extends NgxFormFieldDirective implements OnIni
7526
7513
  * This method is triggered when the user selects files using the file input element.
7527
7514
  *
7528
7515
  * @param {Event} event - The file selection event.
7529
- * @returns {void}
7516
+ * @returns {Promise<void> }
7530
7517
  */
7531
- handleSelection(event: Event): void;
7518
+ handleSelection(event: Event): Promise<void>;
7532
7519
  /**
7533
7520
  * @description Handles the drop event for drag-and-drop file uploads.
7534
7521
  * @summary Processes the files dropped by the user, validates them, and updates the file list.
@@ -8578,6 +8565,15 @@ declare class NgxFormService {
8578
8565
  static reset(formGroup: FormGroup | FormControl): void;
8579
8566
  }
8580
8567
 
8568
+ /**
8569
+ * @module module:lib/engine/NgxEventHandler
8570
+ * @description Event handler base class used by Decaf components.
8571
+ * @summary Defines NgxEventHandler which standardizes event handling logic and provides
8572
+ * logging support for handlers that process custom events emitted by components.
8573
+ *
8574
+ * @link {@link NgxEventHandler}
8575
+ */
8576
+
8581
8577
  declare abstract class NgxEventHandler extends DecafEventHandler {
8582
8578
  constructor();
8583
8579
  refresh(args?: unknown[]): Promise<void>;
@@ -8824,6 +8820,13 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8824
8820
  * @param {string} [uid] - The unique identifier of the model to load; defaults to modelId
8825
8821
  */
8826
8822
  refresh(uid?: EventIds): Promise<void>;
8823
+ /**
8824
+ * @description Enables CRUD operations except those specified.
8825
+ * @summary Sets the allowed CRUD operations for the component, excluding any operations provided in the 'except' array.
8826
+ *
8827
+ * @param {OperationKeys[]} except - Array of operations to exclude from the allowed operations.
8828
+ */
8829
+ protected enableCrudOperations(except?: OperationKeys[]): void;
8827
8830
  /**
8828
8831
  * @description Generic event handler for component events.
8829
8832
  * @summary Processes incoming events from child components and routes them to appropriate
@@ -8856,7 +8859,7 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8856
8859
  * @param {string} uid - The unique identifier of the model instance to retrieve
8857
8860
  * @return {Promise<Model | undefined>} Promise resolving to the model instance or undefined
8858
8861
  */
8859
- handleGet(uid?: EventIds, repository?: IRepository<any>, modelName?: string): Promise<Model | undefined>;
8862
+ handleGet(uid?: EventIds, repository?: IRepository<Model>, modelName?: string): Promise<Model | undefined>;
8860
8863
  /**
8861
8864
  * @description Parses and transforms form data for repository operations.
8862
8865
  * @summary Converts raw form data into the appropriate format for repository operations.
@@ -9357,15 +9360,6 @@ declare function provideI18n(config?: RootTranslateServiceConfig, resources?: I1
9357
9360
  };
9358
9361
  } | i0.Provider[])[];
9359
9362
 
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
9363
  declare const DB_ADAPTER_PROVIDER = "DB_ADAPTER_PROVIDER";
9370
9364
  /**
9371
9365
  * @description Injection token for registering the database adapter provider.
@@ -9428,7 +9422,7 @@ declare const I18N_CONFIG_TOKEN: InjectionToken<I18nToken>;
9428
9422
  * { provide: CPTKN, useValue: provideDynamicComponents(MyComponent, AnotherComponent) }
9429
9423
  * ]
9430
9424
  */
9431
- declare function provideDynamicComponents(...components: Constructor<unknown>[]): Constructor<unknown>[];
9425
+ declare function provideDynamicComponents(...components: unknown[]): Constructor<unknown>[];
9432
9426
  /**
9433
9427
  * @description Retrieves the repository instance for a given model.
9434
9428
  * @summary Creates or retrieves a DecafRepository instance for the specified model. This function
@@ -9478,6 +9472,23 @@ declare function getModelAndRepository(model: Model | string): {
9478
9472
  declare function provideDbAdapter<DbAdapter extends {
9479
9473
  flavour: string;
9480
9474
  }>(clazz: Constructor<DbAdapter>, options?: KeyValue, flavour?: string): Provider;
9475
+ /**
9476
+ * Creates a custom page transition animation using the Ionic `AnimationController`.
9477
+ *
9478
+ * @param baseEl - The base HTML element for the animation.
9479
+ * @param opts - Optional parameters for the animation, including:
9480
+ * - `enteringEl`: The HTML element that is entering the view.
9481
+ * - `leavingEl`: The HTML element that is leaving the view.
9482
+ *
9483
+ * @returns An object containing the `navAnimation`, which is a composed animation
9484
+ * of the entering and leaving animations.
9485
+ *
9486
+ * The entering animation fades in and slides the element upwards, while the leaving
9487
+ * animation fades out and slides the element downwards. Both animations use a cubic-bezier
9488
+ * easing function for smooth transitions.
9489
+ */
9490
+ declare const decafPageTransition: (baseEl: HTMLElement, opts?: KeyValue) => _ionic_angular_standalone.Animation;
9491
+ declare function provideDecafPageTransition(): EnvironmentProviders;
9481
9492
  /**
9482
9493
  * @description Retrieves a logger instance for the given context.
9483
9494
  * @summary Creates or retrieves a namespaced logger instance using the Decaf logging system.
@@ -9539,5 +9550,5 @@ declare class ForAngularCommonModule {
9539
9550
  static ɵinj: i0.ɵɵInjectorDeclaration<ForAngularCommonModule>;
9540
9551
  }
9541
9552
 
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 };
9553
+ 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
9554
  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.52",
4
4
  "author": "Tiago Venceslau and Contributors",
5
5
  "license": "MPL-2.0 OR AGPL-3.0",
6
6
  "repository": {