@decaf-ts/for-angular 0.0.46 → 0.0.48

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
@@ -5,21 +5,22 @@ import { TextFieldTypes, SelectInterface, AutocompleteTypes, CheckboxCustomEvent
5
5
  import * as i2 from '@angular/forms';
6
6
  import { FormGroup, FormControl, FormArray, ControlValueAccessor, AbstractControl } from '@angular/forms';
7
7
  import { OrderDirection, Repository, Adapter, EventIds, Paginator, Condition } from '@decaf-ts/core';
8
- import { FieldProperties, IPagedComponentProperties, CrudOperationKeys, HTML5InputTypes, UIModelMetadata, FieldDefinition, UIMediaBreakPointsType, RenderingEngine } from '@decaf-ts/ui-decorators';
8
+ import { FieldProperties, IPagedComponentProperties, CrudOperationKeys, UIFunctionLike, HTML5InputTypes, DecafComponent, UIModelMetadata, FieldDefinition, UIMediaBreakPointsType, UIElementMetadata, RenderingEngine, DecafEventHandler } from '@decaf-ts/ui-decorators';
9
9
  import * as _decaf_ts_decorator_validation from '@decaf-ts/decorator-validation';
10
- import { Model, VALIDATION_PARENT_KEY, Constructor, ModelConstructor } from '@decaf-ts/decorator-validation';
11
- import { RepositoryFlags, Context, CrudOperations, OperationKeys } from '@decaf-ts/db-decorators';
10
+ import { Model, VALIDATION_PARENT_KEY, ModelConstructor } from '@decaf-ts/decorator-validation';
11
+ import { RepositoryFlags, Context, CrudOperations, OperationKeys, IRepository } from '@decaf-ts/db-decorators';
12
12
  import { ModalOptions, IonAccordionGroup, ItemReorderEventDetail, IonModal } from '@ionic/angular/standalone';
13
+ import { Constructor } from '@decaf-ts/decoration';
13
14
  import { Router } from '@angular/router';
14
15
  import * as i1 from '@angular/common';
15
16
  import { Location } from '@angular/common';
16
17
  import * as i3 from '@ngx-translate/core';
17
18
  import { TranslateService, TranslateLoader, TranslationObject, TranslateParser, RootTranslateServiceConfig } from '@ngx-translate/core';
18
- import { LoggedClass, Logger } from '@decaf-ts/logging';
19
19
  import { HttpClient } from '@angular/common/http';
20
20
  import { Observable, Subscription } from 'rxjs';
21
21
  import { SafeHtml, DomSanitizer, Title } from '@angular/platform-browser';
22
22
  import { InjectablesRegistry } from '@decaf-ts/injectable-decorators';
23
+ import { Logger } from '@decaf-ts/logging';
23
24
 
24
25
  /**
25
26
  * @module lib/engine/interfaces
@@ -490,7 +491,7 @@ interface IFileUploadError {
490
491
  * @memberOf module:lib/engine/constants
491
492
  */
492
493
  declare const AngularEngineKeys: {
493
- readonly REFLECT: `${string}.angular.`;
494
+ readonly REFLECT: "angular";
494
495
  readonly DYNAMIC: "dynamic-component";
495
496
  readonly ANNOTATIONS: "__annotations__";
496
497
  readonly ECMP: "ecmp";
@@ -769,7 +770,6 @@ declare const ListItemPositions: {
769
770
  * @link {@link KeyValue}
770
771
  */
771
772
 
772
- type HandlerLike = Record<string, (...args: unknown[]) => unknown | Promise<unknown>>;
773
773
  interface RawQuery<M extends Model> {
774
774
  select: undefined | (keyof M)[];
775
775
  from: Constructor<M>;
@@ -778,8 +778,8 @@ interface RawQuery<M extends Model> {
778
778
  limit?: number;
779
779
  skip?: number;
780
780
  }
781
- type DecafRepositoryAdapter<F extends RepositoryFlags = RepositoryFlags, C extends Context<F> = Context<F>> = Adapter<any, any, RawQuery<any>, F, C>;
782
- type DecafRepository<M extends Model> = Repository<M, RawQuery<M>, DecafRepositoryAdapter<RepositoryFlags, Context<RepositoryFlags>>, RepositoryFlags, Context<RepositoryFlags>>;
781
+ type DecafRepositoryAdapter<F extends RepositoryFlags = RepositoryFlags, C extends Context<F> = Context<F>> = Adapter<any, any, RawQuery<any>, C>;
782
+ type DecafRepository<M extends Model> = Repository<M, DecafRepositoryAdapter<RepositoryFlags, Context>>;
783
783
  /**
784
784
  * @description Generic key-value pair type
785
785
  * @summary Represents a generic object with string keys and any type of values.
@@ -796,7 +796,7 @@ type KeyValue = Record<string, any>;
796
796
  * @typedef FunctionLike
797
797
  * @memberOf module:engine
798
798
  */
799
- type FunctionLike = (...args: any[]) => any;
799
+ type FunctionLike = UIFunctionLike;
800
800
  /**
801
801
  * @description Element size options for UI components
802
802
  * @summary Defines the possible size values that can be applied to UI elements.
@@ -804,7 +804,7 @@ type FunctionLike = (...args: any[]) => any;
804
804
  * @typedef ElementSize
805
805
  * @memberOf module:engine
806
806
  */
807
- type ElementSize = typeof ElementSizes[keyof typeof ElementSizes];
807
+ type ElementSize = (typeof ElementSizes)[keyof typeof ElementSizes];
808
808
  /**
809
809
  * @description Basic position options for UI elements
810
810
  * @summary Defines the possible position values that can be applied to UI elements.
@@ -812,7 +812,7 @@ type ElementSize = typeof ElementSizes[keyof typeof ElementSizes];
812
812
  * @typedef {('left'|'center'|'right'|'top'|'bottom')} ElementPosition
813
813
  * @memberOf module:engine
814
814
  */
815
- type ElementPosition = typeof ElementPositions[keyof typeof ElementPositions];
815
+ type ElementPosition = (typeof ElementPositions)[keyof typeof ElementPositions];
816
816
  /**
817
817
  * @description Extended position options for flex layouts
818
818
  * @summary Extends the basic ElementPosition with additional flex-specific position values.
@@ -831,7 +831,7 @@ type FlexPosition = ElementPosition | 'stretch' | 'middle' | 'around' | 'between
831
831
  * @memberOf module:engine
832
832
  */
833
833
  type FieldUpdateMode = 'change' | 'blur' | 'submit';
834
- type HTML5InputType = typeof HTML5InputTypes[keyof typeof HTML5InputTypes];
834
+ type HTML5InputType = (typeof HTML5InputTypes)[keyof typeof HTML5InputTypes];
835
835
  /**
836
836
  * @description Possible input types for form fields
837
837
  * @summary Defines the possible input types that can be used in form fields.
@@ -945,28 +945,28 @@ type I18nResourceConfigType = I18nResourceConfig | I18nResourceConfig[];
945
945
  * @typedef {typeof WindowColorSchemes[keyof typeof WindowColorSchemes]} WindowColorScheme
946
946
  * @memberOf module:lib/engine/types
947
947
  */
948
- type WindowColorScheme = typeof WindowColorSchemes[keyof typeof WindowColorSchemes];
948
+ type WindowColorScheme = (typeof WindowColorSchemes)[keyof typeof WindowColorSchemes];
949
949
  /**
950
950
  * @description Represents the possible roles for an action.
951
951
  * @summary This type is derived from the `ActionRoles` constant, allowing only its defined keys as values.
952
952
  * @typedef {typeof ActionRoles[keyof typeof ActionRoles]} ActionRole
953
953
  * @memberOf module:lib/engine/types
954
954
  */
955
- type ActionRole = typeof ActionRoles[keyof typeof ActionRoles];
955
+ type ActionRole = (typeof ActionRoles)[keyof typeof ActionRoles];
956
956
  /**
957
957
  * @description Represents the possible grid gap values for a layout.
958
958
  * @summary This type is derived from the `LayoutGridGaps` constant, allowing only its defined keys as values.
959
959
  * @typedef {typeof LayoutGridGaps[keyof typeof LayoutGridGaps]} LayoutGridGap
960
960
  * @memberOf module:lib/engine/types
961
961
  */
962
- type LayoutGridGap = typeof LayoutGridGaps[keyof typeof LayoutGridGaps];
962
+ type LayoutGridGap = (typeof LayoutGridGaps)[keyof typeof LayoutGridGaps];
963
963
  /**
964
964
  * @description Represents the possible positions for a list item.
965
965
  * @summary This type is derived from the `ListItemPositions` constant, allowing only its defined keys as values.
966
966
  * @typedef {typeof ListItemPositions[keyof typeof ListItemPositions]} ListItemPosition
967
967
  * @memberOf module:lib/engine/types
968
968
  */
969
- type ListItemPosition = typeof ListItemPositions[keyof typeof ListItemPositions];
969
+ type ListItemPosition = (typeof ListItemPositions)[keyof typeof ListItemPositions];
970
970
 
971
971
  /**
972
972
  * @module NgxMediaService
@@ -1225,7 +1225,7 @@ declare class NgxMediaService {
1225
1225
  * @implements {OnChanges}
1226
1226
  * @memberOf module:lib/engine/NgxComponentDirective
1227
1227
  */
1228
- declare abstract class NgxComponentDirective extends LoggedClass implements OnChanges, OnDestroy {
1228
+ declare abstract class NgxComponentDirective extends DecafComponent implements OnChanges, OnDestroy {
1229
1229
  /**
1230
1230
  * @description Reference to the component's native DOM element.
1231
1231
  * @summary Provides direct access to the native DOM element of the component through Angular's
@@ -1310,6 +1310,7 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1310
1310
  * @memberOf module:lib/engine/NgxComponentDirective
1311
1311
  */
1312
1312
  modelId?: EventIds;
1313
+ value: unknown;
1313
1314
  /**
1314
1315
  * @description Primary key field name for the data model.
1315
1316
  * @summary Specifies which field in the model should be used as the primary key.
@@ -1325,11 +1326,11 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1325
1326
  * @summary Defines how fields from the data model should be mapped to properties used by the component.
1326
1327
  * This allows for flexible data binding between the model and the component's display logic. Can be
1327
1328
  * provided as a static object mapping or as a function for dynamic mapping transformations.
1328
- * @type {Record<string, string> | FunctionLike}
1329
+ * @type {Record<string, string> | FunctionLike | Record<string, FunctionLike>}
1329
1330
  * @default {}
1330
1331
  * @memberOf module:lib/engine/NgxComponentDirective
1331
1332
  */
1332
- mapper: Record<string, string> | FunctionLike;
1333
+ mapper: Record<string, string> | FunctionLike | Record<string, FunctionLike>;
1333
1334
  /**
1334
1335
  * @description Available CRUD operations for this component instance.
1335
1336
  * @summary Defines which CRUD operations (Create, Read, Update, Delete) are available
@@ -1347,9 +1348,9 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1347
1348
  * The operation affects form validation, field availability, and the specific repository
1348
1349
  * method called during data submission.
1349
1350
  *
1350
- * @type {OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE}
1351
+ * @type {OperationKeys}
1351
1352
  * @default OperationKeys.READ
1352
- * @memberOf ModelPage
1353
+ * @memberOf module:lib/engine/NgxComponentDirective
1353
1354
  */
1354
1355
  operation: OperationKeys | undefined;
1355
1356
  /**
@@ -1383,17 +1384,6 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1383
1384
  * @memberOf module:lib/engine/NgxComponentDirective
1384
1385
  */
1385
1386
  className: string;
1386
- /**
1387
- * @description Repository instance for data layer operations.
1388
- * @summary Provides a connection to the data layer for retrieving and manipulating data.
1389
- * This is an instance of the DecafRepository class, initialized lazily in the repository getter.
1390
- * The repository is used to perform CRUD (Create, Read, Update, Delete) operations on the
1391
- * data model and provides methods for querying and filtering data based on specific criteria.
1392
- * @type {DecafRepository<Model>}
1393
- * @private
1394
- * @memberOf module:lib/engine/NgxComponentDirective
1395
- */
1396
- protected _repository?: DecafRepository<Model>;
1397
1387
  /**
1398
1388
  * @description Angular change detection service for manual change detection control.
1399
1389
  * @summary Injected service that provides manual control over change detection cycles.
@@ -1439,16 +1429,15 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1439
1429
  */
1440
1430
  protected translateService: TranslateService;
1441
1431
  /**
1442
- * @description Logger instance for structured component logging.
1443
- * @summary Provides logging capabilities for the component, allowing for consistent
1444
- * and structured logging of information, warnings, and errors. This logger is inherited
1445
- * from the LoggedClass and provides access to structured logging functionality.
1446
- * The logger is used throughout the component to record important events, debug information,
1447
- * and potential issues, facilitating easier debugging and maintenance.
1448
- * @type {Logger}
1432
+ * @description Event emitter for custom component events.
1433
+ * @summary Emits custom events that occur within child components or the component itself.
1434
+ * This allows parent components to listen for and respond to user interactions or
1435
+ * state changes. Events are passed up the component hierarchy to enable coordinated
1436
+ * behavior across the application.
1437
+ * @type {EventEmitter<IBaseCustomEvent>}
1449
1438
  * @memberOf module:lib/engine/NgxComponentDirective
1450
1439
  */
1451
- logger: Logger;
1440
+ listenEvent: EventEmitter<IBaseCustomEvent>;
1452
1441
  /**
1453
1442
  * @description Event emitter for custom component events.
1454
1443
  * @summary Emits custom events that occur within child components or the component itself.
@@ -1458,7 +1447,7 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1458
1447
  * @type {EventEmitter<IBaseCustomEvent>}
1459
1448
  * @memberOf module:lib/engine/NgxComponentDirective
1460
1449
  */
1461
- listenEvent: EventEmitter<IBaseCustomEvent>;
1450
+ refreshEvent: EventEmitter<IBaseCustomEvent | boolean>;
1462
1451
  /**
1463
1452
  * @description Angular Router instance for programmatic navigation.
1464
1453
  * @summary Injected Router service used for programmatic navigation between routes
@@ -1468,7 +1457,7 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1468
1457
  * @type {Router}
1469
1458
  * @memberOf module:lib/engine/NgxComponentDirective
1470
1459
  */
1471
- protected router: Router;
1460
+ router: Router;
1472
1461
  /**
1473
1462
  * @description Current locale identifier for component internationalization.
1474
1463
  * @summary Specifies the locale code (e.g., 'en-US', 'pt-BR') used for translating UI text
@@ -1486,7 +1475,7 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1486
1475
  * and other properties needed to render list items correctly. The tag property
1487
1476
  * identifies which component should be used to render each item in a list.
1488
1477
  * Additional properties can be included to customize the rendering behavior.
1489
- * @type {Record<string, unknown>}
1478
+ * @type {Record<string, FieldDefinition>}
1490
1479
  * @default {tag: ""}
1491
1480
  * @memberOf module:lib/engine/NgxComponentDirective
1492
1481
  */
@@ -1513,16 +1502,6 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1513
1502
  * @memberOf module:lib/engine/NgxComponentDirective
1514
1503
  */
1515
1504
  route?: string;
1516
- /**
1517
- * @description Initialization status flag for the component.
1518
- * @summary Tracks whether the component has completed its initialization process.
1519
- * This flag is used to prevent duplicate initialization and to determine if
1520
- * certain operations that require initialization can be performed.
1521
- * @type {boolean}
1522
- * @default false
1523
- * @memberOf module:lib/engine/NgxComponentDirective
1524
- */
1525
- initialized: boolean;
1526
1505
  /**
1527
1506
  * @description Controls whether borders are displayed around the component.
1528
1507
  * @summary Boolean flag that determines if the component should be visually outlined with borders.
@@ -1532,42 +1511,14 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1532
1511
  * @default false
1533
1512
  */
1534
1513
  borders: boolean;
1535
- /**
1536
- * @description Component name identifier for logging and localization contexts.
1537
- * @summary Stores the component's name which is used as a key for logging contexts
1538
- * and as a base for locale resolution. Can be injected via the CPTKN token or defaults
1539
- * to "NgxComponentDirective" if not provided.
1540
- * @protected
1541
- * @type {string | undefined}
1542
- * @memberOf module:lib/engine/NgxComponentDirective
1543
- */
1544
- protected componentName?: string;
1545
- /**
1546
- * @description Root key for component locale context resolution.
1547
- * @summary Defines the base key used to resolve localization contexts for this component.
1548
- * If not explicitly provided, it defaults to the component's name. This key is used to
1549
- * load appropriate translation resources and locale-specific configurations.
1550
- * @protected
1551
- * @type {string | undefined}
1552
- * @memberOf module:lib/engine/NgxComponentDirective
1553
- */
1554
- protected localeRoot?: string;
1555
- /**
1556
- * @description Reference to CRUD operation constants for template usage.
1557
- * @summary Exposes the OperationKeys enum to the component template, enabling
1558
- * conditional rendering and behavior based on operation types. This protected
1559
- * readonly property ensures that template logic can access operation constants
1560
- * while maintaining encapsulation and preventing accidental modification.
1561
- * @protected
1562
- * @readonly
1563
- * @memberOf module:lib/engine/NgxComponentDirective
1564
- */
1565
- protected readonly OperationKeys: typeof OperationKeys;
1566
1514
  /**
1567
1515
  * @description Angular Location service.
1568
- * @summary Injected service that provides access to the browser's URL and history.
1569
- * This service is used for interacting with the browser's history API, allowing
1570
- * for back navigation and URL manipulation outside of Angular's router.
1516
+ * @summary Injected service that provides direct access to the browser's URL and history.
1517
+ * Unlike the Router, Location allows for low-level manipulation of the browser's history stack
1518
+ * and URL path, such as programmatically navigating back or forward, or updating the URL without
1519
+ * triggering a route change. This is useful for scenarios where you need to interact with the
1520
+ * browser history or URL outside of Angular's routing system, such as closing modals, handling
1521
+ * popstate events, or supporting custom navigation logic.
1571
1522
  *
1572
1523
  * @private
1573
1524
  * @type {Location}
@@ -1586,6 +1537,18 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1586
1537
  * @memberOf module:lib/engine/NgxComponentDirective
1587
1538
  */
1588
1539
  isModalChild: boolean;
1540
+ protected handlers: Record<string, UIFunctionLike>;
1541
+ protected events: Record<string, UIFunctionLike>;
1542
+ /**
1543
+ * @description Indicates whether a refresh operation is in progress.
1544
+ * @summary When true, the component is currently fetching new data. This is used
1545
+ * to control loading indicators and prevent duplicate refresh operations from
1546
+ * being triggered simultaneously.
1547
+ *
1548
+ * @type {boolean}
1549
+ * @default false
1550
+ */
1551
+ refreshing: boolean;
1589
1552
  /**
1590
1553
  * @description Constructor for NgxComponentDirective.
1591
1554
  * @summary Initializes the directive by setting up the component name, locale root,
@@ -1606,6 +1569,7 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1606
1569
  * @returns {void}
1607
1570
  */
1608
1571
  ngOnDestroy(): Promise<void> | void;
1572
+ refresh(...args: unknown[]): Promise<void>;
1609
1573
  /**
1610
1574
  * @description Getter for the current locale context identifier.
1611
1575
  * @summary Returns the current locale identifier by calling the getLocale method.
@@ -1624,7 +1588,8 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1624
1588
  * @throws {InternalError} If repository initialization fails
1625
1589
  * @memberOf module:lib/engine/NgxComponentDirective
1626
1590
  */
1627
- protected get repository(): DecafRepository<Model>;
1591
+ get repository(): DecafRepository<Model> | undefined;
1592
+ set repository(repository: DecafRepository<Model> | undefined);
1628
1593
  /**
1629
1594
  * @description Angular lifecycle hook for handling input property changes.
1630
1595
  * @summary Responds to changes in component input properties, specifically monitoring changes
@@ -1635,7 +1600,7 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1635
1600
  * @return {void}
1636
1601
  * @memberOf module:lib/engine/NgxComponentDirective
1637
1602
  */
1638
- ngOnChanges(changes: SimpleChanges): void;
1603
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
1639
1604
  /**
1640
1605
  * @description Translates text phrases using the translation service.
1641
1606
  * @summary Provides a promise-based wrapper around the translation service to translate
@@ -1649,18 +1614,6 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1649
1614
  * @memberOf module:lib/engine/NgxComponentDirective
1650
1615
  */
1651
1616
  protected translate(phrase: string | string[], params?: object | string): Promise<string>;
1652
- /**
1653
- * @description Initializes the component asynchronously with custom logic.
1654
- * @summary Abstract initialization method that can be overridden by child components to perform
1655
- * custom initialization logic. By default, it simply sets the initialized flag to true.
1656
- * Child components can extend this method to load data, configure settings, or perform
1657
- * other setup operations required before the component is fully functional.
1658
- * @protected
1659
- * @param {...unknown[]} args - Variable number of arguments that can be used by child implementations
1660
- * @return {Promise<void>} A promise that resolves when initialization is complete
1661
- * @memberOf module:lib/engine/NgxComponentDirective
1662
- */
1663
- protected initialize(...args: unknown[]): Promise<void>;
1664
1617
  protected checkDarkMode(): void;
1665
1618
  /**
1666
1619
  * @description Retrieves or sets the locale context for the component.
@@ -1792,7 +1745,7 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1792
1745
  * end
1793
1746
  * @memberOf module:lib/engine/NgxComponentDirective
1794
1747
  */
1795
- handleEvent(event: IBaseCustomEvent | ICrudFormEvent | CustomEvent): Promise<void>;
1748
+ handleEvent(event: IBaseCustomEvent | ICrudFormEvent | CustomEvent, repository?: DecafRepository<Model>): Promise<void>;
1796
1749
  /**
1797
1750
  * @description Determines if a specific operation is allowed in the current context.
1798
1751
  * @summary This method checks if an operation is included in the list of available
@@ -1845,7 +1798,7 @@ declare abstract class NgxComponentDirective extends LoggedClass implements OnCh
1845
1798
  */
1846
1799
  changeOperation(operation: string, id?: string): Promise<boolean>;
1847
1800
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxComponentDirective, never>;
1848
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgxComponentDirective, never, never, { "enableDarkMode": { "alias": "enableDarkMode"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "name": { "alias": "name"; "required": false; }; "childOf": { "alias": "childOf"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "model": { "alias": "model"; "required": false; }; "modelId": { "alias": "modelId"; "required": false; }; "pk": { "alias": "pk"; "required": false; }; "mapper": { "alias": "mapper"; "required": false; }; "operations": { "alias": "operations"; "required": false; }; "operation": { "alias": "operation"; "required": false; }; "row": { "alias": "row"; "required": false; }; "col": { "alias": "col"; "required": false; }; "className": { "alias": "className"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "item": { "alias": "item"; "required": false; }; "props": { "alias": "props"; "required": false; }; "route": { "alias": "route"; "required": false; }; "borders": { "alias": "borders"; "required": false; }; "isModalChild": { "alias": "isModalChild"; "required": false; }; }, { "listenEvent": "listenEvent"; }, never, never, true, never>;
1801
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgxComponentDirective, never, never, { "enableDarkMode": { "alias": "enableDarkMode"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "name": { "alias": "name"; "required": false; }; "childOf": { "alias": "childOf"; "required": false; }; "uid": { "alias": "uid"; "required": false; }; "model": { "alias": "model"; "required": false; }; "modelId": { "alias": "modelId"; "required": false; }; "value": { "alias": "value"; "required": false; }; "pk": { "alias": "pk"; "required": false; }; "mapper": { "alias": "mapper"; "required": false; }; "operations": { "alias": "operations"; "required": false; }; "operation": { "alias": "operation"; "required": false; }; "row": { "alias": "row"; "required": false; }; "col": { "alias": "col"; "required": false; }; "className": { "alias": "className"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "item": { "alias": "item"; "required": false; }; "props": { "alias": "props"; "required": false; }; "route": { "alias": "route"; "required": false; }; "borders": { "alias": "borders"; "required": false; }; "isModalChild": { "alias": "isModalChild"; "required": false; }; "handlers": { "alias": "handlers"; "required": false; }; "events": { "alias": "events"; "required": false; }; }, { "listenEvent": "listenEvent"; "refreshEvent": "refreshEvent"; }, never, never, true, never>;
1849
1802
  }
1850
1803
 
1851
1804
  declare class NgxRenderableComponentDirective extends NgxComponentDirective implements OnChanges, OnDestroy, IRenderedModel {
@@ -2414,7 +2367,7 @@ declare abstract class NgxFormFieldDirective extends NgxComponentDirective imple
2414
2367
  * @return {void}
2415
2368
  * @public
2416
2369
  */
2417
- ngOnChanges(changes: SimpleChanges): void;
2370
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
2418
2371
  /**
2419
2372
  * @description Cleanup logic when the component is destroyed.
2420
2373
  * @summary Unregisters the form group from the form service to prevent memory leaks
@@ -2667,7 +2620,7 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
2667
2620
  * @type {boolean}
2668
2621
  * @memberOf CrudFieldComponent
2669
2622
  */
2670
- readonly?: boolean;
2623
+ readonly: boolean;
2671
2624
  /**
2672
2625
  * @description Whether the field is required.
2673
2626
  * @summary When true, the field must have a value for the form to be valid.
@@ -2951,10 +2904,10 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
2951
2904
  * This ensures proper initialization of read-only fields that don't require
2952
2905
  * form functionality but still need view setup.
2953
2906
  *
2954
- * @returns {void}
2907
+ * @returns {Promise<void>}
2955
2908
  * @memberOf CrudFieldComponent
2956
2909
  */
2957
- ngAfterViewInit(): void;
2910
+ ngAfterViewInit(): Promise<void>;
2958
2911
  /**
2959
2912
  * @description Component cleanup lifecycle method.
2960
2913
  * @summary Performs cleanup operations for READ and DELETE operations by calling
@@ -3004,12 +2957,12 @@ declare class CrudFieldComponent extends NgxFormFieldDirective implements OnInit
3004
2957
  */
3005
2958
  declare class NgxParentComponentDirective extends NgxComponentDirective implements OnInit {
3006
2959
  /**
3007
- * @description Unique identifier for the current record.
3008
- * @summary A unique identifier for the current record being displayed or manipulated.
3009
- * This is typically used in conjunction with the primary key for operations on specific records.
3010
- *
3011
- * @type {string | number}
3012
- */
2960
+ * @description Unique identifier for the current record.
2961
+ * @summary A unique identifier for the current record being displayed or manipulated.
2962
+ * This is typically used in conjunction with the primary key for operations on specific records.
2963
+ *
2964
+ * @type {string | number}
2965
+ */
3013
2966
  page: number;
3014
2967
  /**
3015
2968
  * @description Unique identifier for the current record.
@@ -3238,9 +3191,9 @@ declare abstract class NgxFormDirective extends NgxParentComponentDirective impl
3238
3191
  * triggered during form operations. These handlers provide extensibility for
3239
3192
  * custom business logic and can be invoked for various form events and actions.
3240
3193
  *
3241
- * @type {HandlerLike}
3194
+ * @type {Record<string, UIFunctionLike>}
3242
3195
  */
3243
- handlers: HandlerLike;
3196
+ handlers: Record<string, UIFunctionLike>;
3244
3197
  /**
3245
3198
  * @description Angular reactive FormGroup for form state management.
3246
3199
  * @summary The FormGroup instance that manages all form controls, validation,
@@ -3292,7 +3245,7 @@ declare abstract class NgxFormDirective extends NgxParentComponentDirective impl
3292
3245
  * @returns {Promise<void>}
3293
3246
  */
3294
3247
  ngOnInit(model?: Model | string): Promise<void>;
3295
- ngAfterViewInit(): void;
3248
+ ngAfterViewInit(): Promise<void>;
3296
3249
  /**
3297
3250
  * @description Component cleanup lifecycle method.
3298
3251
  * @summary Performs cleanup operations when the component is destroyed.
@@ -3313,7 +3266,7 @@ declare abstract class NgxFormDirective extends NgxParentComponentDirective impl
3313
3266
  * @returns {void}
3314
3267
  */
3315
3268
  handleReset(): void;
3316
- handleSubmit(event?: SubmitEvent, eventName?: string, componentName?: string): Promise<boolean | void>;
3269
+ submit(event?: SubmitEvent, eventName?: string, componentName?: string): Promise<boolean | void>;
3317
3270
  /**
3318
3271
  * @description Updates the active form group and children for the specified page.
3319
3272
  * @summary Extracts the FormGroup for the given page from the FormArray and filters
@@ -3394,10 +3347,10 @@ declare class CrudFormComponent extends NgxFormDirective {
3394
3347
  * @param {string} title - Primary title text displayed in the card header.
3395
3348
  * @param {('small'|'default'|'blank')} body - Body size preset controlling padding/typography; defaults to 'default'.
3396
3349
  * @param {string} subtitle - Optional subtitle rendered under the title.
3397
- * @param {import('@ionic/core').Color} color - Ionic color token applied to the card header/title.
3350
+ * @param {Color} color - Ionic color token applied to the card header/title.
3398
3351
  * @param {boolean} separator - When true, renders a divider between header and body.
3399
3352
  * @param {boolean} borders - Controls whether borders are rendered; defaults to true.
3400
- * @param {string|import('@angular/platform-browser').SafeHtml} inlineContent - Inline HTML/SafeHtml to render inside the body.
3353
+ * @param {string|SafeHtml} inlineContent - Inline HTML/SafeHtml to render inside the body.
3401
3354
  * @param {('top'|'bottom')} inlineContentPosition - Where to render `inlineContent` relative to the body; defaults to 'bottom'.
3402
3355
  * @return {void}
3403
3356
  * @class CardComponent
@@ -3457,7 +3410,7 @@ declare class CardComponent extends NgxComponentDirective implements OnInit {
3457
3410
  /**
3458
3411
  * @description Ionic color token applied to the card.
3459
3412
  * @summary When provided, the color token (for example 'primary' or 'tertiary') is applied to title/header elements where supported.
3460
- * @type {import('@ionic/core').Color}
3413
+ * @type {Color}
3461
3414
  * @default ''
3462
3415
  */
3463
3416
  color: Color;
@@ -3478,7 +3431,7 @@ declare class CardComponent extends NgxComponentDirective implements OnInit {
3478
3431
  /**
3479
3432
  * @description Inline HTML or SafeHtml content to render inside the card body.
3480
3433
  * @summary Useful for short snippets of rich content provided by the consumer. When passing raw HTML prefer `SafeHtml` to avoid sanitization issues.
3481
- * @type {string|import('@angular/platform-browser').SafeHtml}
3434
+ * @type {string|SafeHtml}
3482
3435
  */
3483
3436
  inlineContent?: string | SafeHtml;
3484
3437
  /**
@@ -3984,7 +3937,7 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
3984
3937
  * @default []
3985
3938
  * @memberOf FieldsetComponent
3986
3939
  */
3987
- items: IFieldSetItem[];
3940
+ items: IFieldSetItem[] | UIElementMetadata[][];
3988
3941
  /**
3989
3942
  * @description Currently selected item for update operations.
3990
3943
  * @summary Holds the item being edited when in update mode. Used to track
@@ -4122,35 +4075,36 @@ declare class FieldsetComponent extends NgxFormDirective implements OnInit, Afte
4122
4075
  */
4123
4076
  ngOnInit(): Promise<void>;
4124
4077
  /**
4125
- * @description Initializes the component state after view and child components are rendered.
4126
- * @summary This lifecycle hook implements intelligent auto-state management based on the current
4127
- * CRUD operation. For READ and DELETE operations, the fieldset automatically opens to provide
4128
- * immediate access to information, while CREATE and UPDATE operations keep it closed to maintain
4129
- * a clean initial interface. The method directly manipulates the DOM to ensure proper accordion
4130
- * synchronization and triggers change detection to reflect the programmatic state changes.
4131
- *
4132
- * @mermaid
4133
- * sequenceDiagram
4134
- * participant A as Angular Lifecycle
4135
- * participant F as FieldsetComponent
4136
- * participant D as DOM
4137
- * participant C as ChangeDetector
4138
- *
4139
- * A->>F: ngAfterViewInit()
4140
- * alt operation is READ or DELETE
4141
- * F->>F: Set isOpen = true
4142
- * F->>D: Query ion-accordion-group element
4143
- * alt accordion element exists
4144
- * F->>D: Set value attribute to 'open'
4145
- * end
4146
- * end
4147
- * F->>C: detectChanges()
4148
- * C->>F: Update view with new state
4149
- *
4150
- * @returns {void}
4151
- * @memberOf FieldsetComponent
4152
- */
4153
- ngAfterViewInit(): void;
4078
+ * @description Initializes the component state after view and child components are rendered.
4079
+ * @summary This lifecycle hook implements intelligent auto-state management based on the current
4080
+ * CRUD operation. For READ and DELETE operations, the fieldset automatically opens to provide
4081
+ * immediate access to information, while CREATE and UPDATE operations keep it closed to maintain
4082
+ * a clean initial interface. The method directly manipulates the DOM to ensure proper accordion
4083
+ * synchronization and triggers change detection to reflect the programmatic state changes.
4084
+ *
4085
+ * @mermaid
4086
+ * sequenceDiagram
4087
+ * participant A as Angular Lifecycle
4088
+ * participant F as FieldsetComponent
4089
+ * participant D as DOM
4090
+ * participant C as ChangeDetector
4091
+ *
4092
+ * A->>F: ngAfterViewInit()
4093
+ * alt operation is READ or DELETE
4094
+ * F->>F: Set isOpen = true
4095
+ * F->>D: Query ion-accordion-group element
4096
+ * alt accordion element exists
4097
+ * F->>D: Set value attribute to 'open'
4098
+ * end
4099
+ * end
4100
+ * F->>C: detectChanges()
4101
+ * C->>F: Update view with new state
4102
+ *
4103
+ * @returns {Promise<void>}
4104
+ * @memberOf FieldsetComponent
4105
+ */
4106
+ ngAfterViewInit(): Promise<void>;
4107
+ refresh(): Promise<void>;
4154
4108
  /**
4155
4109
  * @description Handles removal of the fieldset with slide animation.
4156
4110
  * @summary Initiates the removal process for the fieldset with a smooth slide-up animation.
@@ -4675,7 +4629,7 @@ declare class FilterComponent extends NgxComponentDirective implements OnInit, O
4675
4629
  *
4676
4630
  * @memberOf FilterComponent
4677
4631
  */
4678
- addFilter(value: string, event?: CustomEvent): void;
4632
+ addFilter(value: string, event?: CustomEvent): Promise<void>;
4679
4633
  /**
4680
4634
  * @description Selects an option from the dropdown suggestions.
4681
4635
  * @summary Handles option selection when a user clicks on a suggestion in the dropdown.
@@ -4746,10 +4700,10 @@ declare class FilterComponent extends NgxComponentDirective implements OnInit, O
4746
4700
  * @summary Emits the current filter array to parent components when filters are ready
4747
4701
  * to be applied. Only emits if there are active filters. Clears options after submission.
4748
4702
  *
4749
- * @returns {void}
4703
+ * @returns {Promise<void>}
4750
4704
  * @memberOf FilterComponent
4751
4705
  */
4752
- submit(): void;
4706
+ submit(): Promise<void>;
4753
4707
  /**
4754
4708
  * @description Toggles the sort direction between ascending and descending.
4755
4709
  * @summary Handles sort direction changes by toggling between ASC and DSC values.
@@ -5122,7 +5076,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5122
5076
  * @default "full"
5123
5077
  * @memberOf ListComponent
5124
5078
  */
5125
- lines: "inset" | "full" | "none";
5079
+ lines: 'inset' | 'full' | 'none';
5126
5080
  /**
5127
5081
  * @description Controls whether the list has inset styling.
5128
5082
  * @summary When set to true, the list will have inset styling with rounded corners
@@ -5153,7 +5107,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5153
5107
  * @default "bottom"
5154
5108
  * @memberOf ListComponent
5155
5109
  */
5156
- scrollPosition: "bottom" | "top";
5110
+ scrollPosition: 'bottom' | 'top';
5157
5111
  /**
5158
5112
  * @description Custom text to display during loading operations.
5159
5113
  * @summary Specifies the text shown in the loading indicator when the component
@@ -5268,17 +5222,6 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5268
5222
  * @memberOf ListComponent
5269
5223
  */
5270
5224
  pages: number;
5271
- /**
5272
- * @description Indicates whether a refresh operation is in progress.
5273
- * @summary When true, the component is currently fetching new data. This is used
5274
- * to control loading indicators and prevent duplicate refresh operations from
5275
- * being triggered simultaneously.
5276
- *
5277
- * @type {boolean}
5278
- * @default false
5279
- * @memberOf ListComponent
5280
- */
5281
- refreshing: boolean;
5282
5225
  /**
5283
5226
  * @description Array used for rendering skeleton loading placeholders.
5284
5227
  * @summary Contains placeholder items that are displayed during data loading.
@@ -5333,15 +5276,6 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5333
5276
  * @memberOf ListComponent
5334
5277
  */
5335
5278
  lastPage: number;
5336
- /**
5337
- * @description Event emitter for refresh operations.
5338
- * @summary Emits an event when the list data is refreshed, either through pull-to-refresh
5339
- * or programmatic refresh. The event includes the refreshed data and component information.
5340
- *
5341
- * @type {EventEmitter<IBaseCustomEvent>}
5342
- * @memberOf ListComponent
5343
- */
5344
- refreshEvent: EventEmitter<IBaseCustomEvent>;
5345
5279
  /**
5346
5280
  * @description Event emitter for item click interactions.
5347
5281
  * @summary Emits an event when a list item is clicked. The event includes the data
@@ -5651,16 +5585,16 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5651
5585
  */
5652
5586
  refresh(event?: InfiniteScrollCustomEvent | RefresherCustomEvent | boolean): Promise<void>;
5653
5587
  /**
5654
- * @description Handles pagination events from the pagination component.
5655
- * @summary Processes pagination events by updating the current page number and
5656
- * refreshing the list data to display the selected page. This method is called
5657
- * when a user interacts with the pagination controls to navigate between pages.
5658
- *
5659
- * @param {IPaginationCustomEvent} event - The pagination event containing page information
5660
- * @returns {void}
5661
- *
5662
- * @memberOf ListComponent
5663
- */
5588
+ * @description Handles pagination events from the pagination component.
5589
+ * @summary Processes pagination events by updating the current page number and
5590
+ * refreshing the list data to display the selected page. This method is called
5591
+ * when a user interacts with the pagination controls to navigate between pages.
5592
+ *
5593
+ * @param {IPaginationCustomEvent} event - The pagination event containing page information
5594
+ * @returns {void}
5595
+ *
5596
+ * @memberOf ListComponent
5597
+ */
5664
5598
  handlePaginate(event: IPaginationCustomEvent): void;
5665
5599
  /**
5666
5600
  * @description Handles pull-to-refresh events from the refresher component.
@@ -5749,7 +5683,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5749
5683
  *
5750
5684
  * @memberOf ListComponent
5751
5685
  */
5752
- protected parseResult(result: KeyValue[] | Paginator<Model>): Promise<KeyValue[]>;
5686
+ protected parseResult(result: KeyValue[] | Paginator<any>): Promise<KeyValue[]>;
5753
5687
  /**
5754
5688
  * @description Updates pagination state based on data length.
5755
5689
  * @summary Calculates whether more data is available and how many pages exist
@@ -5791,7 +5725,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5791
5725
  mapResults(data: KeyValue[]): KeyValue[];
5792
5726
  parseSearchValue(): string | IFilterQuery;
5793
5727
  static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
5794
- static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "ngx-decaf-list", never, { "type": { "alias": "type"; "required": false; }; "showSearchbar": { "alias": "showSearchbar"; "required": false; }; "data": { "alias": "data"; "required": false; }; "source": { "alias": "source"; "required": false; }; "start": { "alias": "start"; "required": false; }; "limit": { "alias": "limit"; "required": false; }; "loadMoreData": { "alias": "loadMoreData"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "inset": { "alias": "inset"; "required": false; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; }; "scrollPosition": { "alias": "scrollPosition"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "showRefresher": { "alias": "showRefresher"; "required": false; }; "createButton": { "alias": "createButton"; "required": false; }; "loadingSpinner": { "alias": "loadingSpinner"; "required": false; }; "enableFilter": { "alias": "enableFilter"; "required": false; }; "sortDirection": { "alias": "sortDirection"; "required": false; }; "sortBy": { "alias": "sortBy"; "required": false; }; "disableSort": { "alias": "disableSort"; "required": false; }; "empty": { "alias": "empty"; "required": false; }; }, { "refreshEvent": "refreshEvent"; "clickEvent": "clickEvent"; }, never, ["*"], true, never>;
5728
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "ngx-decaf-list", never, { "type": { "alias": "type"; "required": false; }; "showSearchbar": { "alias": "showSearchbar"; "required": false; }; "data": { "alias": "data"; "required": false; }; "source": { "alias": "source"; "required": false; }; "start": { "alias": "start"; "required": false; }; "limit": { "alias": "limit"; "required": false; }; "loadMoreData": { "alias": "loadMoreData"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "inset": { "alias": "inset"; "required": false; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; }; "scrollPosition": { "alias": "scrollPosition"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "showRefresher": { "alias": "showRefresher"; "required": false; }; "createButton": { "alias": "createButton"; "required": false; }; "loadingSpinner": { "alias": "loadingSpinner"; "required": false; }; "enableFilter": { "alias": "enableFilter"; "required": false; }; "sortDirection": { "alias": "sortDirection"; "required": false; }; "sortBy": { "alias": "sortBy"; "required": false; }; "disableSort": { "alias": "disableSort"; "required": false; }; "empty": { "alias": "empty"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, ["*"], true, never>;
5795
5729
  }
5796
5730
 
5797
5731
  /**
@@ -6027,7 +5961,7 @@ declare class ListItemComponent extends NgxComponentDirective implements OnInit,
6027
5961
  * @memberOf ListItemComponent
6028
5962
  */
6029
5963
  ngOnInit(): Promise<void>;
6030
- ngAfterViewInit(): void;
5964
+ ngAfterViewInit(): Promise<void>;
6031
5965
  /**
6032
5966
  * @description Handles user interactions and actions performed on the list item.
6033
5967
  * @summary This method is the central action handler for list item interactions. It manages
@@ -6229,12 +6163,12 @@ declare class ModelRendererComponent<M extends Model> extends NgxRenderableCompo
6229
6163
  * @description Refreshes the rendered model
6230
6164
  * @param {string | M} model - The model to be rendered
6231
6165
  */
6232
- private refresh;
6166
+ refresh(model: string | M): Promise<void>;
6233
6167
  /**
6234
6168
  * @description Lifecycle hook that is called when data-bound properties of a directive change
6235
6169
  * @param {SimpleChanges} changes - Object containing changes
6236
6170
  */
6237
- ngOnChanges(changes: SimpleChanges): void;
6171
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
6238
6172
  static ɵfac: i0.ɵɵFactoryDeclaration<ModelRendererComponent<any>, never>;
6239
6173
  static ɵcmp: i0.ɵɵComponentDeclaration<ModelRendererComponent<any>, "ngx-decaf-model-renderer", never, { "projectable": { "alias": "projectable"; "required": false; }; }, {}, never, never, true, never>;
6240
6174
  }
@@ -7303,7 +7237,7 @@ declare function presentNgxLightBoxModal(inlineContent: string | SafeHtml, props
7303
7237
  */
7304
7238
  declare function getNgxSelectOptionsModal(options: SelectOption[], injector?: EnvironmentInjector): Promise<IonModal>;
7305
7239
 
7306
- declare class IconComponent implements OnInit, AfterViewInit {
7240
+ declare class IconComponent implements OnInit {
7307
7241
  /** @description Reference to the component's native DOM element.
7308
7242
  * @summary Provides direct access to the native DOM element of the component through Angular's
7309
7243
  * ViewChild decorator. This reference can be used to manipulate the DOM element directly,
@@ -7329,7 +7263,6 @@ declare class IconComponent implements OnInit, AfterViewInit {
7329
7263
  mediaService: NgxMediaService;
7330
7264
  constructor();
7331
7265
  ngOnInit(): void;
7332
- ngAfterViewInit(): void;
7333
7266
  static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
7334
7267
  static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "ngx-decaf-icon", never, { "name": { "alias": "name"; "required": false; }; "color": { "alias": "color"; "required": false; }; "slot": { "alias": "slot"; "required": false; }; "button": { "alias": "button"; "required": false; }; "buttonFill": { "alias": "buttonFill"; "required": false; }; "buttonShape": { "alias": "buttonShape"; "required": false; }; "width": { "alias": "width"; "required": false; }; "size": { "alias": "size"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; }, {}, never, never, true, never>;
7335
7268
  }
@@ -7719,7 +7652,7 @@ declare class ForAngularComponentsModule {
7719
7652
  * end
7720
7653
  * @category Decorators
7721
7654
  */
7722
- declare function Dynamic(): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
7655
+ declare function Dynamic(): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
7723
7656
 
7724
7657
  /**
7725
7658
  * @description Abstract base class for dynamic Angular modules
@@ -8001,18 +7934,6 @@ declare class NgxRenderingEngine extends RenderingEngine<AngularFieldDefinition,
8001
7934
  * @memberOf module:lib/engine/NgxRenderingEngine
8002
7935
  */
8003
7936
  static components(selector?: string): object | string[];
8004
- /**
8005
- * @description Generates a key for reflection metadata storage.
8006
- * @summary This static method generates a key for reflection metadata by prefixing the input key
8007
- * with the Angular engine's reflection prefix. This is used for storing and retrieving
8008
- * metadata in a namespaced way to avoid conflicts with other metadata.
8009
- * @param {string} key - The base key to prefix
8010
- * @return {string} The prefixed key for reflection metadata
8011
- * @static
8012
- * @override
8013
- * @memberOf module:lib/engine/NgxRenderingEngine
8014
- */
8015
- static key(key: string): string;
8016
7937
  /**
8017
7938
  * @description Sets input properties on a component instance.
8018
7939
  * @summary This static utility method sets input properties on a component instance
@@ -8612,17 +8533,8 @@ declare class NgxFormService {
8612
8533
  static reset(formGroup: FormGroup | FormControl): void;
8613
8534
  }
8614
8535
 
8615
- /**
8616
- * @module module:lib/engine/NgxEventHandler
8617
- * @description Event handler base class used by Decaf components.
8618
- * @summary Defines NgxEventHandler which standardizes event handling logic and provides
8619
- * logging support for handlers that process custom events emitted by components.
8620
- *
8621
- * @link {@link NgxEventHandler}
8622
- */
8623
-
8624
- declare abstract class NgxEventHandler<PAYLOAD> extends LoggedClass {
8625
- abstract handle(evt: IBaseCustomEvent | CustomEvent<PAYLOAD>): Promise<unknown>;
8536
+ declare abstract class NgxEventHandler extends DecafEventHandler {
8537
+ refresh(args?: unknown[]): Promise<void>;
8626
8538
  }
8627
8539
 
8628
8540
  /**
@@ -8815,15 +8727,15 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8815
8727
  */
8816
8728
  allowedOperations: OperationKeys[];
8817
8729
  /**
8818
- * @description Current model data loaded from the repository.
8819
- * @summary Stores the raw data object representing the current model instance retrieved
8820
- * from the repository. This property holds the actual data values for the model being
8821
- * displayed or edited, and is set to undefined when no data is available or when an
8822
- * error occurs during data loading.
8823
- * @type {KeyValue | undefined}
8824
- * @default undefined
8825
- * @memberOf NgxModelPageDirective
8826
- */
8730
+ * @description Current model data loaded from the repository.
8731
+ * @summary Stores the raw data object representing the current model instance retrieved
8732
+ * from the repository. This property holds the actual data values for the model being
8733
+ * displayed or edited, and is set to undefined when no data is available or when an
8734
+ * error occurs during data loading.
8735
+ * @type {KeyValue | undefined}
8736
+ * @default undefined
8737
+ * @memberOf NgxModelPageDirective
8738
+ */
8827
8739
  modelData: KeyValue | undefined;
8828
8740
  /**
8829
8741
  * @description Error message from failed operations.
@@ -8847,7 +8759,7 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8847
8759
  *
8848
8760
  * @throws {InternalError} When the model is not found in the registry
8849
8761
  */
8850
- protected get repository(): DecafRepository<Model>;
8762
+ get repository(): DecafRepository<Model> | undefined;
8851
8763
  /**
8852
8764
  * @description Angular lifecycle hook for component initialization.
8853
8765
  * @summary Initializes the component by setting up the logger instance using the getLogger
@@ -8869,12 +8781,12 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8869
8781
  * @description Generic event handler for component events.
8870
8782
  * @summary Processes incoming events from child components and routes them to appropriate
8871
8783
  * handlers based on the event name. Currently handles SUBMIT events by delegating to
8872
- * the handleSubmit method. This centralized event handling approach allows for easy
8784
+ * the submit method. This centralized event handling approach allows for easy
8873
8785
  * extension and consistent event processing.
8874
8786
  *
8875
8787
  * @param {IBaseCustomEvent} event - The event object containing event data and metadata
8876
8788
  */
8877
- handleEvent(event: IBaseCustomEvent): Promise<void>;
8789
+ handleEvent(event: IBaseCustomEvent, repository?: DecafRepository<Model>): Promise<void>;
8878
8790
  /**
8879
8791
  * @description Handles form submission events for CRUD operations.
8880
8792
  * @summary Processes form submission by executing the appropriate repository operation
@@ -8886,7 +8798,8 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8886
8798
  * @param {IBaseCustomEvent} event - The submit event containing form data
8887
8799
  * @return {Promise<IModelPageCustomEvent|void>} Promise that resolves on success or throws on error
8888
8800
  */
8889
- handleSubmit(event: IBaseCustomEvent, redirect?: boolean): Promise<IModelPageCustomEvent | void>;
8801
+ submit(event: IBaseCustomEvent, repository?: DecafRepository<Model>, redirect?: boolean): Promise<IModelPageCustomEvent | void>;
8802
+ create(data: Partial<Model>, repository: DecafRepository<Model>): Promise<IModelPageCustomEvent | void>;
8890
8803
  /**
8891
8804
  * @description Retrieves a model instance from the repository by unique identifier.
8892
8805
  * @summary Fetches a specific model instance using the repository's read method.
@@ -8897,7 +8810,7 @@ declare abstract class NgxModelPageDirective extends NgxPageDirective {
8897
8810
  * @param {string} uid - The unique identifier of the model instance to retrieve
8898
8811
  * @return {Promise<Model | undefined>} Promise resolving to the model instance or undefined
8899
8812
  */
8900
- handleGet(uid?: EventIds): Promise<Model | undefined>;
8813
+ handleGet(uid?: EventIds, repository?: IRepository<any>, modelName?: string): Promise<Model | undefined>;
8901
8814
  /**
8902
8815
  * @description Parses and transforms form data for repository operations.
8903
8816
  * @summary Converts raw form data into the appropriate format for repository operations.
@@ -9284,7 +9197,7 @@ declare class DecafFakerRepository<T extends Model> {
9284
9197
  constructor(model: string | Model, limit?: number);
9285
9198
  protected get repository(): DecafRepository<Model>;
9286
9199
  initialize(): Promise<void>;
9287
- generateData<T extends Model>(pkValues?: KeyValue, pk?: string, pkType?: string): Promise<T[]>;
9200
+ generateData<T extends Model>(values?: KeyValue, key?: string, keyType?: string): Promise<T[]>;
9288
9201
  }
9289
9202
  declare function getFakerData<T extends Model>(limit: number | undefined, data: Record<string, FunctionLike>, model?: string): T[];
9290
9203
 
@@ -9481,15 +9394,19 @@ declare function provideDynamicComponents(...components: Constructor<unknown>[])
9481
9394
  * @memberOf module:lib/for-angular-common.module
9482
9395
  * @example
9483
9396
  * // Get repository by model class
9484
- * const userRepo = getModelRepository(User);
9397
+ * const userRepo = getModelAndRepository(User);
9485
9398
  *
9486
9399
  * // Get repository by model name
9487
- * const productRepo = getModelRepository('Product');
9400
+ * const productRepo = getModelAndRepository('Product');
9488
9401
  *
9489
9402
  * // Use repository for queries
9490
9403
  * const users = await userRepo.findAll();
9491
9404
  */
9492
- declare function getModelRepository(model: Model | string): DecafRepository<Model>;
9405
+ declare function getModelAndRepository(model: Model | string): {
9406
+ repository: DecafRepository<Model>;
9407
+ model: Model;
9408
+ pk: string;
9409
+ } | undefined;
9493
9410
  /**
9494
9411
  * @description Provides a database adapter for dependency injection.
9495
9412
  * @summary Creates an Angular provider that registers a database adapter instance. This function
@@ -9514,7 +9431,7 @@ declare function getModelRepository(model: Model | string): DecafRepository<Mode
9514
9431
  */
9515
9432
  declare function provideDbAdapter<DbAdapter extends {
9516
9433
  flavour: string;
9517
- }>(adapterClass: Constructor<DbAdapter>, options?: KeyValue, flavour?: string): Provider;
9434
+ }>(clazz: Constructor<DbAdapter>, options?: KeyValue, flavour?: string): Provider;
9518
9435
  /**
9519
9436
  * @description Retrieves a logger instance for the given context.
9520
9437
  * @summary Creates or retrieves a namespaced logger instance using the Decaf logging system.
@@ -9576,5 +9493,5 @@ declare class ForAngularCommonModule {
9576
9493
  static ɵinj: i0.ɵɵInjectorDeclaration<ForAngularCommonModule>;
9577
9494
  }
9578
9495
 
9579
- 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, getModelRepository, getNgxModalComponent, getNgxSelectOptionsModal, getOnWindow, getOnWindowDocument, getWindow, getWindowDocument, getWindowWidth, isDarkMode, isDevelopmentMode, isNotUndefined, isValidDate, itemMapper, parseToValidDate, presentNgxLightBoxModal, provideDbAdapter, provideDynamicComponents, provideI18n, provideI18nLoader, removeFocusTrap, setOnWindow, stringToBoolean, windowEventEmitter };
9580
- export type { ActionRole, AngularDynamicOutput, AngularFieldDefinition, CheckboxOption, ComponentMetadata, CrudFieldOption, DecafRepository, DecafRepositoryAdapter, ElementPosition, ElementSize, FieldUpdateMode, FlexPosition, FormParent, FormParentGroup, FormServiceControl, FormServiceControls, FunctionLike, HTML5InputType, HTMLFormTarget, HandlerLike, 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 };
9496
+ 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, presentNgxLightBoxModal, provideDbAdapter, provideDynamicComponents, provideI18n, provideI18nLoader, removeFocusTrap, setOnWindow, stringToBoolean, windowEventEmitter };
9497
+ 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 };