@acontplus/ng-components 2.1.32 → 2.4.0

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.
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { EventEmitter, Type, AfterViewInit, OnDestroy, Signal, ViewContainerRef, ElementRef, OnInit, TemplateRef, OnChanges, SimpleChanges, NgZone, InjectionToken, QueryList, TrackByFunction, KeyValueChangeRecord, OutputEmitterRef, WritableSignal, ComponentRef, AfterContentInit, PipeTransform } from '@angular/core';
2
+ import { EventEmitter, TemplateRef, Type, AfterViewInit, OnDestroy, Signal, ViewContainerRef, ElementRef, OnInit, OnChanges, SimpleChanges, NgZone, InjectionToken, QueryList, TrackByFunction, KeyValueChangeRecord, OutputEmitterRef, WritableSignal, ComponentRef, AfterContentInit, PipeTransform } from '@angular/core';
3
3
  import { MatDialogRef } from '@angular/material/dialog';
4
4
  import { ScrollStrategy } from '@angular/cdk/overlay';
5
5
  import { FormControl, ControlValueAccessor, FormGroup } from '@angular/forms';
@@ -8,16 +8,16 @@ import { SafeHtml } from '@angular/platform-browser';
8
8
  import { MatChipInputEvent, MatChipEditedEvent } from '@angular/material/chips';
9
9
  import { LiveAnnouncer, FocusOrigin } from '@angular/cdk/a11y';
10
10
  import { Tabulator } from 'tabulator-tables';
11
- import * as rxjs from 'rxjs';
12
- import { Observable, Subject } from 'rxjs';
13
11
  import { MatTable, MatRowDef, MatHeaderRowDef, MatFooterRowDef, MatTableDataSource } from '@angular/material/table';
14
- import { PageEvent, MatPaginator } from '@angular/material/paginator';
12
+ import { MatPaginator, PageEvent } from '@angular/material/paginator';
15
13
  import { SortDirection, MatSort, Sort } from '@angular/material/sort';
16
14
  import { SelectionModel } from '@angular/cdk/collections';
17
15
  import { MatBadgePosition, MatBadgeSize } from '@angular/material/badge';
18
16
  import { MatButtonAppearance } from '@angular/material/button';
19
17
  import { ThemePalette } from '@angular/material/core';
20
18
  import { TooltipPosition, TooltipTouchGestures } from '@angular/material/tooltip';
19
+ import * as rxjs from 'rxjs';
20
+ import { Observable, Subject } from 'rxjs';
21
21
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
22
22
  import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
23
23
  import { NgxDatexLocale, NgxDatexTheme, NgxDatexValue } from 'ngx-datex';
@@ -27,6 +27,7 @@ import { Direction } from '@angular/cdk/bidi';
27
27
  import { DialogRole, CdkDialogContainer, DialogRef } from '@angular/cdk/dialog';
28
28
  import { DateRange, MatCalendar } from '@angular/material/datepicker';
29
29
  import { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';
30
+ import * as _acontplus_ng_components from '@acontplus/ng-components';
30
31
 
31
32
  type AcpAlertType = 'default' | 'info' | 'success' | 'warning' | 'danger';
32
33
  declare class AcpAlert {
@@ -46,6 +47,70 @@ declare class AcpAlert {
46
47
  static ngAcceptInputType_dismissible: unknown;
47
48
  }
48
49
 
50
+ type AcpBadgeColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral' | 'custom';
51
+ type AcpBadgeVariant = 'filled' | 'outlined' | 'soft' | 'tonal' | 'text';
52
+ type AcpBadgeSize = 'xs' | 'sm' | 'md' | 'lg';
53
+ type AcpBadgeShape = 'rounded' | 'pill' | 'square';
54
+ type AcpBadgeTrend = 'up' | 'down' | 'neutral' | 'none';
55
+ interface AcpBadgeTrendConfig {
56
+ value: string;
57
+ icon: string;
58
+ color: AcpBadgeColor;
59
+ }
60
+
61
+ declare class AcpBadge {
62
+ label: _angular_core.InputSignal<string | undefined>;
63
+ value: _angular_core.InputSignal<string | undefined>;
64
+ variant: _angular_core.InputSignal<AcpBadgeVariant>;
65
+ color: _angular_core.InputSignal<AcpBadgeColor>;
66
+ size: _angular_core.InputSignal<AcpBadgeSize>;
67
+ shape: _angular_core.InputSignal<AcpBadgeShape>;
68
+ icon: _angular_core.InputSignal<string | undefined>;
69
+ trailingIcon: _angular_core.InputSignal<string | undefined>;
70
+ svgIcon: _angular_core.InputSignal<string | undefined>;
71
+ trailingSvgIcon: _angular_core.InputSignal<string | undefined>;
72
+ trend: _angular_core.InputSignal<AcpBadgeTrend>;
73
+ clickable: _angular_core.InputSignalWithTransform<boolean, unknown>;
74
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
75
+ loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
76
+ selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
77
+ highlighted: _angular_core.InputSignalWithTransform<boolean, unknown>;
78
+ removable: _angular_core.InputSignalWithTransform<boolean, unknown>;
79
+ routerLink: _angular_core.InputSignal<string | any[] | null>;
80
+ href: _angular_core.InputSignal<string | null>;
81
+ ariaLabelOverride: _angular_core.InputSignal<string | null>;
82
+ clicked: _angular_core.OutputEmitterRef<void>;
83
+ removed: _angular_core.OutputEmitterRef<void>;
84
+ iconTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
85
+ trailingIconTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
86
+ private isTrending;
87
+ private trendConfig;
88
+ effectiveColor: _angular_core.Signal<AcpBadgeColor>;
89
+ effectiveIcon: _angular_core.Signal<string | undefined>;
90
+ effectiveSvgIcon: _angular_core.Signal<string | undefined>;
91
+ effectiveTrailingIcon: _angular_core.Signal<string | undefined>;
92
+ effectiveTrailingSvgIcon: _angular_core.Signal<string | undefined>;
93
+ effectiveValue: _angular_core.Signal<string | undefined>;
94
+ isLink: _angular_core.Signal<boolean>;
95
+ isInteractive: _angular_core.Signal<boolean>;
96
+ isDisabled: _angular_core.Signal<boolean>;
97
+ isHighlighted: _angular_core.Signal<boolean>;
98
+ chipClasses: _angular_core.Signal<string>;
99
+ hostClasses: _angular_core.Signal<string>;
100
+ ariaLabel: _angular_core.Signal<string | null>;
101
+ onChipClick(event: MouseEvent): void;
102
+ onRemove(_event: any): void;
103
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpBadge, never>;
104
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpBadge, "acp-badge", ["acpBadge"], { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; "isSignal": true; }; "svgIcon": { "alias": "svgIcon"; "required": false; "isSignal": true; }; "trailingSvgIcon": { "alias": "trailingSvgIcon"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "highlighted": { "alias": "highlighted"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "ariaLabelOverride": { "alias": "ariaLabelOverride"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "removed": "removed"; }, ["iconTemplate", "trailingIconTemplate"], never, true, never>;
105
+ }
106
+
107
+ declare const ACP_BADGE_COLORS: AcpBadgeColor[];
108
+ declare const ACP_BADGE_VARIANTS: AcpBadgeVariant[];
109
+ declare const ACP_BADGE_SIZES: AcpBadgeSize[];
110
+ declare const ACP_BADGE_SHAPES: AcpBadgeShape[];
111
+
112
+ declare const TREND_CONFIGS: Record<AcpBadgeTrend, AcpBadgeTrendConfig>;
113
+
49
114
  /**
50
115
  * A versatile card component that wraps Angular Material's mat-card with additional functionality
51
116
  * and customization options. This component provides a consistent card layout with configurable
@@ -367,179 +432,6 @@ declare class ThemeSwitcher {
367
432
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeSwitcher>;
368
433
  }
369
434
 
370
- interface AutocompleteWrapperItem {
371
- id?: string | number;
372
- name?: string;
373
- value?: string;
374
- description?: string;
375
- [key: string]: any;
376
- }
377
- interface AutocompleteWrapperSearchResult {
378
- items: AutocompleteWrapperItem[];
379
- totalCount: number;
380
- hasMore?: boolean;
381
- }
382
- type AutocompleteWrapperSearchFunction = (query: string, filters: AutocompleteWrapperFilters, page?: number, pageSize?: number) => Observable<AutocompleteWrapperSearchResult>;
383
- interface AutocompleteWrapperConfig {
384
- placeholder?: string;
385
- clearInput?: boolean;
386
- disabled?: boolean;
387
- debounceTime?: number;
388
- minSearchLength?: number;
389
- maxHistoryItems?: number;
390
- itemsPerPage?: number;
391
- enableStockFilter?: boolean;
392
- stockProperty?: string;
393
- enablePagination?: boolean;
394
- enableFilters?: boolean;
395
- enableFooterActions?: boolean;
396
- searchFields?: AutocompleteWrapperSearchField[];
397
- stockOptions?: AutocompleteWrapperStockOption[];
398
- overlayWidth?: string | number;
399
- overlayMaxHeight?: string | number;
400
- searchFunction?: AutocompleteWrapperSearchFunction;
401
- searchMode?: 'local' | 'remote' | 'hybrid';
402
- localData?: AutocompleteWrapperItem[];
403
- noResultsText?: string;
404
- sectionTitle?: string;
405
- }
406
- interface AutocompleteWrapperSearchField {
407
- value: string;
408
- label: string;
409
- property: string;
410
- }
411
- interface AutocompleteWrapperStockOption {
412
- value: string;
413
- label: string;
414
- }
415
- interface AutocompleteWrapperFilters {
416
- searchBy: string;
417
- stockFilter: string;
418
- }
419
- interface AutocompleteWrapperEvents {
420
- itemSelected: AutocompleteWrapperItem;
421
- searchChanged: string;
422
- pageChanged: number;
423
- filterChanged: AutocompleteWrapperFilters;
424
- advancedSearchClicked: void;
425
- allResultsClicked: string;
426
- createNewClicked: string;
427
- historyCleared: void;
428
- historyItemRemoved: {
429
- item: AutocompleteWrapperItem;
430
- index: number;
431
- };
432
- }
433
- interface AutocompleteWrapperPaginationInfo {
434
- currentPage: number;
435
- totalPages: number;
436
- totalItems: number;
437
- itemsPerPage: number;
438
- startItem: number;
439
- endItem: number;
440
- hasNextPage: boolean;
441
- hasPreviousPage: boolean;
442
- }
443
- interface AutocompleteWrapperState {
444
- query: string;
445
- isLoading: boolean;
446
- overlayOpen: boolean;
447
- selectedIndex: number;
448
- pagination: AutocompleteWrapperPaginationInfo;
449
- hasResults: boolean;
450
- isHistoryVisible: boolean;
451
- historyCount: number;
452
- filters: AutocompleteWrapperFilters;
453
- }
454
- interface AutocompleteWrapperActions {
455
- onInput(event: Event): void;
456
- showOverlay(): void;
457
- hideOverlay(): void;
458
- clearSearch(): void;
459
- onKeyDown(event: KeyboardEvent): void;
460
- selectItem(item: AutocompleteWrapperItem): void;
461
- getItemDisplayText(item: AutocompleteWrapperItem): string;
462
- clearHistory(): void;
463
- removeHistoryItem(index: number, event: Event): void;
464
- goToFirstPage(): void;
465
- goToPreviousPage(): void;
466
- goToNextPage(): void;
467
- goToLastPage(): void;
468
- goToPage(event: Event): void;
469
- onFilterChange(): void;
470
- onCreateNew(event: Event): void;
471
- onAdvancedSearch(): void;
472
- onShowAllResults(): void;
473
- overlayOpen(): boolean;
474
- isLoading(): boolean;
475
- isHistoryVisible(): boolean;
476
- historyList(): AutocompleteWrapperItem[];
477
- selectedIndex(): number;
478
- currentPageItems(): AutocompleteWrapperItem[];
479
- totalItems(): number;
480
- totalPages(): number;
481
- currentPage(): number;
482
- totalCount(): number;
483
- startItem(): number;
484
- endItem(): number;
485
- sectionTitle(): string;
486
- noResultsText(): string;
487
- isNoResults(): boolean;
488
- overlayWidth(): string | number;
489
- overlayMaxHeight(): string | number;
490
- }
491
- declare const AUTOCOMPLETE_WRAPPER_DEFAULT_CONFIG: AutocompleteWrapperConfig;
492
- declare const AUTOCOMPLETE_WRAPPER_PRODUCT_CONFIG: AutocompleteWrapperConfig;
493
- declare const AUTOCOMPLETE_WRAPPER_CUSTOMER_CONFIG: AutocompleteWrapperConfig;
494
- declare const AUTOCOMPLETE_WRAPPER_SIMPLE_CONFIG: AutocompleteWrapperConfig;
495
- declare const AUTOCOMPLETE_WRAPPER_LOCAL_CONFIG: AutocompleteWrapperConfig;
496
- declare const AUTOCOMPLETE_WRAPPER_PAGINATED_CONFIG: AutocompleteWrapperConfig;
497
- declare function createAutocompleteWrapperConfig(overrides: Partial<AutocompleteWrapperConfig>): AutocompleteWrapperConfig;
498
- interface ReusableAutocompleteWrapperComponent extends AutocompleteWrapperActions {
499
- config: AutocompleteWrapperConfig;
500
- filters: AutocompleteWrapperFilters;
501
- query: string;
502
- }
503
- type AutocompleteWrapperSearchMode = 'local' | 'remote' | 'hybrid';
504
- type AutocompleteWrapperItemProperty = keyof AutocompleteWrapperItem;
505
- type AutocompleteWrapperEventHandler<T = any> = (event: T) => void;
506
-
507
- declare class AutocompleteWrapperService {
508
- private historySubject;
509
- history$: Observable<AutocompleteWrapperItem[]>;
510
- constructor();
511
- searchLocal(items: AutocompleteWrapperItem[], query: string, filters: AutocompleteWrapperFilters, config: AutocompleteWrapperConfig): Observable<AutocompleteWrapperSearchResult>;
512
- filterItems(items: AutocompleteWrapperItem[], query: string, filters: AutocompleteWrapperFilters, config?: AutocompleteWrapperConfig): AutocompleteWrapperItem[];
513
- searchAsync(items: AutocompleteWrapperItem[], query: string, filters: AutocompleteWrapperFilters, config?: AutocompleteWrapperConfig): Observable<AutocompleteWrapperItem[]>;
514
- private getSearchValue;
515
- addToHistory(item: AutocompleteWrapperItem, maxItems?: number): void;
516
- removeFromHistory(index: number): void;
517
- clearHistory(): void;
518
- getHistory(): AutocompleteWrapperItem[];
519
- private loadHistoryFromStorage;
520
- private saveHistoryToStorage;
521
- paginateItems<T>(items: T[], page: number, itemsPerPage: number): T[];
522
- getTotalPages(totalItems: number, itemsPerPage: number): number;
523
- isValidPage(page: number, totalPages: number): boolean;
524
- highlightText(text: string, query: string): string;
525
- getItemDisplayText(item: AutocompleteWrapperItem, displayField?: string): string;
526
- mergeConfig(userConfig: Partial<AutocompleteWrapperConfig>): AutocompleteWrapperConfig;
527
- createGenericSearchFunction(config: {
528
- search: (params: any) => Observable<any>;
529
- queryParam?: string;
530
- searchByParam?: string;
531
- pageParam?: string;
532
- pageSizeParam?: string;
533
- responseMapper?: (response: any) => AutocompleteWrapperSearchResult;
534
- }): AutocompleteWrapperSearchFunction;
535
- createMockData(): AutocompleteWrapperItem[];
536
- searchProducts(query: string, filters?: Partial<AutocompleteWrapperFilters>): Observable<AutocompleteWrapperSearchResult>;
537
- createProductSearchConfig(): AutocompleteWrapperConfig;
538
- createCustomerSearchConfig(): AutocompleteWrapperConfig;
539
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutocompleteWrapperService, never>;
540
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AutocompleteWrapperService>;
541
- }
542
-
543
435
  /**
544
436
  * A wrapper component for Angular Material dialogs that provides a consistent look and feel,
545
437
  * including a draggable header and the ability to dynamically create components inside the dialog.
@@ -595,10 +487,11 @@ declare class DialogWrapper implements AfterViewInit, OnDestroy {
595
487
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogWrapper, "acp-dialog-wrapper", never, {}, {}, never, never, true, never>;
596
488
  }
597
489
 
490
+ type SelectValue = string | number | null;
598
491
  declare class DynamicSelect implements OnInit, OnDestroy {
599
492
  label: _angular_core.InputSignal<string>;
600
493
  options: _angular_core.InputSignal<SelectOption[]>;
601
- selectedValue: _angular_core.InputSignal<string | number | null | undefined>;
494
+ selectedValue: _angular_core.InputSignal<SelectValue | undefined>;
602
495
  className: _angular_core.InputSignal<string>;
603
496
  placeholder: _angular_core.InputSignal<string | undefined>;
604
497
  disabled: _angular_core.InputSignal<boolean>;
@@ -623,11 +516,11 @@ declare class DynamicSelect implements OnInit, OnDestroy {
623
516
  loadingText: _angular_core.InputSignal<string>;
624
517
  clearAllText: _angular_core.InputSignal<string>;
625
518
  notFoundText: _angular_core.InputSignal<string>;
626
- selectionChange: _angular_core.OutputEmitterRef<string | number | null>;
627
- selectControl: FormControl<string | number | null>;
519
+ selectionChange: _angular_core.OutputEmitterRef<SelectValue>;
520
+ selectControl: FormControl<SelectValue>;
628
521
  filteredOptions: SelectOption[];
629
522
  loading: boolean;
630
- private _onDestroy;
523
+ private readonly _onDestroy;
631
524
  constructor();
632
525
  ngOnInit(): void;
633
526
  onSelectionChange(selectedItem: any): void;
@@ -822,6 +715,42 @@ declare class Button {
822
715
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<Button, "acp-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "matStyle": { "alias": "matStyle"; "required": false; "isSignal": true; }; "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; "reportFormat": { "alias": "reportFormat"; "required": false; "isSignal": true; }; "extended": { "alias": "extended"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, { "handleClick": "handleClick"; }, never, ["*"], true, never>;
823
716
  }
824
717
 
718
+ type AcpButtonVariant = 'basic' | 'icon' | 'fab' | 'mini-fab';
719
+ type AcpButtonAppearance = 'text' | 'filled' | 'elevated' | 'outlined' | 'tonal';
720
+ type AcpButtonType = 'button' | 'submit' | 'reset';
721
+ type AcpButtonColor = 'primary' | 'secondary' | 'accent' | 'error' | 'success' | 'warning' | 'info' | 'dark';
722
+ declare abstract class BaseButton {
723
+ color: _angular_core.InputSignal<AcpButtonColor>;
724
+ square: _angular_core.InputSignalWithTransform<boolean, unknown>;
725
+ icon: _angular_core.InputSignal<string | undefined>;
726
+ suffixIcon: _angular_core.InputSignal<string | undefined>;
727
+ loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
728
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
729
+ disableRipple: _angular_core.InputSignalWithTransform<boolean, unknown>;
730
+ variant: _angular_core.InputSignal<AcpButtonVariant>;
731
+ appearance: _angular_core.InputSignal<AcpButtonAppearance>;
732
+ type: _angular_core.InputSignal<AcpButtonType>;
733
+ extended: _angular_core.InputSignalWithTransform<boolean, unknown>;
734
+ size: _angular_core.InputSignal<"small" | "medium" | "large">;
735
+ text: _angular_core.InputSignal<string | undefined>;
736
+ hasText: _angular_core.Signal<boolean>;
737
+ clicked: _angular_core.OutputEmitterRef<void>;
738
+ focused: _angular_core.OutputEmitterRef<void>;
739
+ blurred: _angular_core.OutputEmitterRef<void>;
740
+ colorClass: _angular_core.Signal<string>;
741
+ sizeClass: _angular_core.Signal<string>;
742
+ squareClass: _angular_core.Signal<"" | "acp-square">;
743
+ isDisabled: _angular_core.Signal<boolean>;
744
+ pointerEvents: _angular_core.Signal<"none" | "auto">;
745
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseButton, never>;
746
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseButton, never, never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "square": { "alias": "square"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disableRipple": { "alias": "disableRipple"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "extended": { "alias": "extended"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
747
+ }
748
+
749
+ declare class AcpButton extends BaseButton {
750
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpButton, never>;
751
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpButton, "acp-button", never, {}, {}, never, ["*", "*"], true, never>;
752
+ }
753
+
825
754
  declare class Spinner {
826
755
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Spinner, never>;
827
756
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<Spinner, "acp-spinner", never, {}, {}, never, never, true, never>;
@@ -1106,6 +1035,7 @@ declare class TabulatorTable implements OnChanges, AfterViewInit, OnDestroy {
1106
1035
  readonly rowSelected: _angular_core.OutputEmitterRef<any>;
1107
1036
  readonly tableReady: _angular_core.OutputEmitterRef<Tabulator>;
1108
1037
  private _tabulator;
1038
+ private static instanceCounter;
1109
1039
  containerId: string;
1110
1040
  ngAfterViewInit(): void;
1111
1041
  ngOnChanges(changes: SimpleChanges): void;
@@ -1153,117 +1083,6 @@ declare class ThemeToggle {
1153
1083
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggle, "acp-theme-toggle", never, { "lightModeIcon": { "alias": "lightModeIcon"; "required": false; "isSignal": true; }; "darkModeIcon": { "alias": "darkModeIcon"; "required": false; "isSignal": true; }; "lightModeLabel": { "alias": "lightModeLabel"; "required": false; "isSignal": true; }; "darkModeLabel": { "alias": "darkModeLabel"; "required": false; "isSignal": true; }; "testId": { "alias": "testId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1154
1084
  }
1155
1085
 
1156
- declare class Pagination {
1157
- totalRecords: number;
1158
- pageSize: number;
1159
- pageIndex: number;
1160
- pageSizeOptions: number[];
1161
- hidePageSize: boolean;
1162
- showPageSizeOptions: boolean;
1163
- showFirstLastButtons: boolean;
1164
- disabled: boolean;
1165
- /**
1166
- * @param pageIndex Current page index (0-based for MatPaginator compatibility)
1167
- * @param pageSize Number of records per page
1168
- * @param totalRecords Total number of records
1169
- * @param pageSizeOptions Available page size options
1170
- * @param hidePageSize Whether to hide the page size selector
1171
- * @param showPageSizeOptions Whether to show page size options
1172
- * @param showFirstLastButtons Whether to show first/last buttons
1173
- * @param disabled Whether the paginator is disabled
1174
- */
1175
- constructor(pageIndex?: number, // MatPaginator starts at 0
1176
- pageSize?: number, totalRecords?: number, pageSizeOptions?: number[], hidePageSize?: boolean, showPageSizeOptions?: boolean, showFirstLastButtons?: boolean, disabled?: boolean);
1177
- /**
1178
- * Calculates the total number of pages.
1179
- */
1180
- getTotalPages(): number;
1181
- /**
1182
- * Handles page event similar to Angular Material example.
1183
- * @param event MatPaginator PageEvent
1184
- */
1185
- handlePageEvent(event: PageEvent): void;
1186
- }
1187
-
1188
- declare class ReusableAutocompleteComponent implements OnInit, OnDestroy {
1189
- readonly dataSource: _angular_core.InputSignal<AutocompleteWrapperItem[]>;
1190
- config: AutocompleteWrapperConfig;
1191
- readonly itemTemplate: _angular_core.InputSignal<TemplateRef<any> | undefined>;
1192
- readonly searchFunction: _angular_core.InputSignal<AutocompleteWrapperSearchFunction | undefined>;
1193
- readonly notFoundTemplate: _angular_core.InputSignal<TemplateRef<any> | undefined>;
1194
- overlayWidth: _angular_core.InputSignal<string>;
1195
- overlayMaxHeight: _angular_core.InputSignal<string>;
1196
- itemSelected: _angular_core.OutputEmitterRef<AutocompleteWrapperItem>;
1197
- searchChanged: _angular_core.OutputEmitterRef<string>;
1198
- searchRequested: _angular_core.OutputEmitterRef<{
1199
- query: string;
1200
- filters: AutocompleteWrapperFilters;
1201
- page: number;
1202
- }>;
1203
- pageChanged: _angular_core.OutputEmitterRef<number>;
1204
- filterChanged: _angular_core.OutputEmitterRef<AutocompleteWrapperFilters>;
1205
- advancedSearchClicked: _angular_core.OutputEmitterRef<void>;
1206
- allResultsClicked: _angular_core.OutputEmitterRef<string>;
1207
- createClicked: _angular_core.OutputEmitterRef<string>;
1208
- readonly searchInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
1209
- readonly historyListElement: _angular_core.Signal<ElementRef<HTMLUListElement> | undefined>;
1210
- readonly resultsListElement: _angular_core.Signal<ElementRef<HTMLUListElement> | undefined>;
1211
- query: string;
1212
- isLoading: _angular_core.WritableSignal<boolean>;
1213
- overlayOpen: _angular_core.WritableSignal<boolean>;
1214
- selectedIndex: _angular_core.WritableSignal<number>;
1215
- currentPage: _angular_core.WritableSignal<number>;
1216
- filteredItems: _angular_core.WritableSignal<AutocompleteWrapperItem[]>;
1217
- historyList: _angular_core.WritableSignal<AutocompleteWrapperItem[]>;
1218
- totalCount: _angular_core.WritableSignal<number>;
1219
- filters: AutocompleteWrapperFilters;
1220
- isHistoryVisible: _angular_core.Signal<boolean>;
1221
- totalItems: _angular_core.Signal<number>;
1222
- totalPages: _angular_core.Signal<number>;
1223
- currentPageItems: _angular_core.Signal<AutocompleteWrapperItem[]>;
1224
- startItem: _angular_core.Signal<number>;
1225
- endItem: _angular_core.Signal<number>;
1226
- sectionTitle: _angular_core.Signal<string>;
1227
- isNoResults: _angular_core.Signal<boolean>;
1228
- private destroy$;
1229
- private searchSubject;
1230
- private autocompleteService;
1231
- ngOnInit(): void;
1232
- ngOnDestroy(): void;
1233
- private mergeDefaultConfig;
1234
- private setupSearch;
1235
- private performSearch;
1236
- private loadHistory;
1237
- private searchSubjectNext;
1238
- onInput(event: Event): void;
1239
- onKeyDown(event: KeyboardEvent): void;
1240
- onFilterChange(): void;
1241
- updateSearchResults(result: AutocompleteWrapperSearchResult): void;
1242
- showOverlay(): void;
1243
- hideOverlay(): void;
1244
- isType(item: any): item is string;
1245
- selectItem(item: AutocompleteWrapperItem): void;
1246
- clearSearch(): void;
1247
- removeHistoryItem(index: number, event: Event): void;
1248
- clearHistory(): void;
1249
- goToPage(event: Event): void;
1250
- goToFirstPage(): void;
1251
- goToPreviousPage(): void;
1252
- goToNextPage(): void;
1253
- goToLastPage(): void;
1254
- onCreateNew(_$event: MouseEvent): void;
1255
- onAdvancedSearch(): void;
1256
- onShowAllResults(): void;
1257
- getItemDisplayText(item: AutocompleteWrapperItem): string;
1258
- noResultsText(): string;
1259
- private scrollToSelected;
1260
- getState(): AutocompleteWrapperState;
1261
- setQuery(query: string): void;
1262
- focus(): void;
1263
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ReusableAutocompleteComponent, never>;
1264
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ReusableAutocompleteComponent, "acp-autocomplete-wrapper", never, { "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "searchFunction": { "alias": "searchFunction"; "required": false; "isSignal": true; }; "notFoundTemplate": { "alias": "notFoundTemplate"; "required": false; "isSignal": true; }; "overlayWidth": { "alias": "overlayWidth"; "required": false; "isSignal": true; }; "overlayMaxHeight": { "alias": "overlayMaxHeight"; "required": false; "isSignal": true; }; }, { "itemSelected": "itemSelected"; "searchChanged": "searchChanged"; "searchRequested": "searchRequested"; "pageChanged": "pageChanged"; "filterChanged": "filterChanged"; "advancedSearchClicked": "advancedSearchClicked"; "allResultsClicked": "allResultsClicked"; "createClicked": "createClicked"; }, never, never, true, never>;
1265
- }
1266
-
1267
1086
  declare class AcpGridSelectableCell {
1268
1087
  ctrlKeyPressed: boolean;
1269
1088
  shiftKeyPressed: boolean;
@@ -1453,9 +1272,9 @@ declare const DATA_GRID_DEFAULT_OPTIONS: InjectionToken<DataGridDefaultOptions>;
1453
1272
  declare class DataGrid implements AfterViewInit, OnChanges {
1454
1273
  size: _angular_core.InputSignal<"normal" | "small" | "medium">;
1455
1274
  protected _animationsDisabled: boolean;
1456
- private _utils;
1457
- private _changeDetectorRef;
1458
- private _defaultOptions;
1275
+ private readonly _utils;
1276
+ private readonly _changeDetectorRef;
1277
+ private readonly _defaultOptions;
1459
1278
  table: MatTable<any>;
1460
1279
  paginator: MatPaginator;
1461
1280
  sort: MatSort;
@@ -1499,7 +1318,7 @@ declare class DataGrid implements AfterViewInit, OnChanges {
1499
1318
  /** Whether to hide the page size selection UI from the user. */
1500
1319
  hidePageSize: boolean;
1501
1320
  /** Event emitted when the paginator changes the page size or page index. */
1502
- page: EventEmitter<PageEvent>;
1321
+ page: _angular_core.OutputEmitterRef<PageEvent>;
1503
1322
  /** The template for the pagination. */
1504
1323
  paginationTemplate: TemplateRef<any>;
1505
1324
  /** Whether to sort the data on front end. */
@@ -1521,22 +1340,22 @@ declare class DataGrid implements AfterViewInit, OnChanges {
1521
1340
  */
1522
1341
  sortStart: 'asc' | 'desc';
1523
1342
  /** Event emitted when the user changes either the active sort or sort direction. */
1524
- sortChange: EventEmitter<Sort>;
1343
+ sortChange: _angular_core.OutputEmitterRef<Sort>;
1525
1344
  /** Whether to use the row hover style. */
1526
1345
  rowHover: boolean;
1527
1346
  /** Whether to use the row striped style. */
1528
1347
  rowStriped: boolean;
1529
1348
  /** Event emitted when the user clicks the row. */
1530
- rowClick: EventEmitter<any>;
1349
+ rowClick: _angular_core.OutputEmitterRef<any>;
1531
1350
  /** Event emitted when the user attempts to open a context menu. */
1532
- rowContextMenu: EventEmitter<any>;
1351
+ rowContextMenu: _angular_core.OutputEmitterRef<any>;
1533
1352
  expansionRowStates: any[];
1534
1353
  /** Whether the row is expandable. */
1535
1354
  expandable: boolean;
1536
1355
  /** The template for the expandable row. */
1537
1356
  expansionTemplate: TemplateRef<any>;
1538
1357
  /** Event emitted when the user toggles the expandable row. */
1539
- expansionChange: EventEmitter<any>;
1358
+ expansionChange: _angular_core.OutputEmitterRef<any>;
1540
1359
  closeOthersOnExpand: _angular_core.InputSignal<boolean>;
1541
1360
  rowSelection: SelectionModel<any>;
1542
1361
  /** Whether to support multiple row/cell selection. */
@@ -1556,21 +1375,21 @@ declare class DataGrid implements AfterViewInit, OnChanges {
1556
1375
  /** The selected row items. */
1557
1376
  rowSelected: any[];
1558
1377
  /** Event emitted when the row is selected. */
1559
- rowSelectedChange: EventEmitter<any[]>;
1560
- checkboxKeyDown: EventEmitter<KeyboardEvent>;
1561
- checkboxKeyUp: EventEmitter<KeyboardEvent>;
1562
- checkboxKeyPress: EventEmitter<KeyboardEvent>;
1563
- rowKeyDown: EventEmitter<{
1378
+ rowSelectedChange: _angular_core.OutputEmitterRef<any[]>;
1379
+ checkboxKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
1380
+ checkboxKeyUp: _angular_core.OutputEmitterRef<KeyboardEvent>;
1381
+ checkboxKeyPress: _angular_core.OutputEmitterRef<KeyboardEvent>;
1382
+ rowKeyDown: _angular_core.OutputEmitterRef<{
1564
1383
  event: KeyboardEvent;
1565
1384
  row: Record<string, any>;
1566
1385
  index: number;
1567
1386
  }>;
1568
- rowKeyUp: EventEmitter<{
1387
+ rowKeyUp: _angular_core.OutputEmitterRef<{
1569
1388
  event: KeyboardEvent;
1570
1389
  row: Record<string, any>;
1571
1390
  index: number;
1572
1391
  }>;
1573
- rowKeyPress: EventEmitter<{
1392
+ rowKeyPress: _angular_core.OutputEmitterRef<{
1574
1393
  event: KeyboardEvent;
1575
1394
  row: Record<string, any>;
1576
1395
  index: number;
@@ -1579,7 +1398,7 @@ declare class DataGrid implements AfterViewInit, OnChanges {
1579
1398
  /** Whether the cell is selectable. */
1580
1399
  cellSelectable: boolean;
1581
1400
  /** Event emitted when the cell is selected. */
1582
- cellSelectedChange: EventEmitter<any[]>;
1401
+ cellSelectedChange: _angular_core.OutputEmitterRef<any[]>;
1583
1402
  private _selectedCell?;
1584
1403
  /** Whether to show the toolbar. */
1585
1404
  showToolbar: boolean;
@@ -1596,7 +1415,7 @@ declare class DataGrid implements AfterViewInit, OnChanges {
1596
1415
  /** Whether the column is pinnable. */
1597
1416
  columnPinnable: boolean;
1598
1417
  /** Event emitted when the column is hided or is sorted. */
1599
- columnChange: EventEmitter<DataGridColumn<any>[]>;
1418
+ columnChange: _angular_core.OutputEmitterRef<DataGridColumn<any>[]>;
1600
1419
  /** The options for the column pin list. */
1601
1420
  columnPinOptions: DataGridColumnPinOption[];
1602
1421
  /** Whether to show the column menu button. */
@@ -1763,11 +1582,11 @@ interface FocusableElement {
1763
1582
  */
1764
1583
  declare class KeyboardNavigationService {
1765
1584
  /** Array privado que contiene todos los elementos registrados para la navegación */
1766
- private focusableElements;
1585
+ private readonly focusableElements;
1767
1586
  /** Signal que mantiene el índice del elemento actualmente enfocado en el array `focusableElements` */
1768
- private currentFocusIndex;
1587
+ private readonly currentFocusIndex;
1769
1588
  /** Subject para notificar la destrucción del servicio y limpiar suscripciones */
1770
- private destroy$;
1589
+ private readonly destroy$;
1771
1590
  /**
1772
1591
  * Signal público que expone el índice de la fila enfocada (usado por componentes como DataGrid).
1773
1592
  * Es un signal escribible porque el componente hijo (DataGrid) es quien actualiza su valor.
@@ -3197,9 +3016,111 @@ declare class AcpCheckboxGroup implements AfterViewInit, OnDestroy, ControlValue
3197
3016
  static ngAcceptInputType_disabled: unknown;
3198
3017
  }
3199
3018
 
3019
+ type AcpKpiCardColor = 'primary' | 'secondary' | 'success' | 'success-light' | 'warning' | 'warning-light' | 'error' | 'error-light' | 'info' | 'info-light' | 'neutral' | 'white' | 'custom';
3020
+ type AcpKpiCardVariant = 'default' | 'elevated' | 'outlined' | 'filled' | 'tonal';
3021
+ type AcpKpiCardSize = 'xs' | 'sm' | 'md' | 'lg';
3022
+ type AcpKpiCardTrend = 'up' | 'down' | 'neutral' | 'none';
3023
+ interface AcpKpiCardTrendConfig {
3024
+ icon: string;
3025
+ color: AcpKpiCardColor;
3026
+ ariaLabel: string;
3027
+ }
3028
+ interface AcpKpiCardLayout {
3029
+ title: boolean;
3030
+ subtitle: boolean;
3031
+ value: boolean;
3032
+ description: boolean;
3033
+ trend: boolean;
3034
+ percentage: boolean;
3035
+ icon: boolean;
3036
+ avatar: boolean;
3037
+ actions: boolean;
3038
+ footer: boolean;
3039
+ progress: boolean;
3040
+ }
3041
+
3042
+ declare class AcpKpiCard {
3043
+ title: _angular_core.InputSignal<string | undefined>;
3044
+ subtitle: _angular_core.InputSignal<string | undefined>;
3045
+ value: _angular_core.InputSignal<string | number | undefined>;
3046
+ description: _angular_core.InputSignal<string | undefined>;
3047
+ footer: _angular_core.InputSignal<string | undefined>;
3048
+ variant: _angular_core.InputSignal<AcpKpiCardVariant>;
3049
+ color: _angular_core.InputSignal<AcpKpiCardColor>;
3050
+ size: _angular_core.InputSignal<AcpKpiCardSize>;
3051
+ icon: _angular_core.InputSignal<string | undefined>;
3052
+ svgIcon: _angular_core.InputSignal<string | undefined>;
3053
+ avatar: _angular_core.InputSignal<string | undefined>;
3054
+ avatarInitials: _angular_core.InputSignal<string | undefined>;
3055
+ trend: _angular_core.InputSignal<AcpKpiCardTrend>;
3056
+ percentage: _angular_core.InputSignal<string | number | undefined>;
3057
+ percentageFormat: _angular_core.InputSignal<"number" | "percent">;
3058
+ progress: _angular_core.InputSignal<number | undefined>;
3059
+ progressColor: _angular_core.InputSignal<AcpKpiCardColor>;
3060
+ loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
3061
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
3062
+ clickable: _angular_core.InputSignalWithTransform<boolean, unknown>;
3063
+ selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
3064
+ routerLink: _angular_core.InputSignal<string | any[] | null>;
3065
+ href: _angular_core.InputSignal<string | null>;
3066
+ ariaLabel: _angular_core.InputSignal<string | undefined>;
3067
+ tooltip: _angular_core.InputSignal<string | undefined>;
3068
+ clicked: _angular_core.OutputEmitterRef<void>;
3069
+ actionClicked: _angular_core.OutputEmitterRef<string>;
3070
+ isHovered: _angular_core.WritableSignal<boolean>;
3071
+ iconTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
3072
+ avatarTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
3073
+ footerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
3074
+ actionsTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
3075
+ isTrending: _angular_core.Signal<boolean>;
3076
+ trendConfig: _angular_core.Signal<_acontplus_ng_components.AcpKpiCardTrendConfig>;
3077
+ effectiveIcon: _angular_core.Signal<string | undefined>;
3078
+ trendColor: _angular_core.Signal<AcpKpiCardColor>;
3079
+ hasHeader: _angular_core.Signal<boolean>;
3080
+ hasFooter: _angular_core.Signal<boolean>;
3081
+ hasActions: _angular_core.Signal<boolean>;
3082
+ hostClasses: _angular_core.Signal<string>;
3083
+ onCardClick(): void;
3084
+ onActionClick(action: string, event: Event): void;
3085
+ onMouseEnter(): void;
3086
+ onMouseLeave(): void;
3087
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AcpKpiCard, never>;
3088
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AcpKpiCard, "acp-kpi-card", ["acpKpiCard"], { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "footer": { "alias": "footer"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "svgIcon": { "alias": "svgIcon"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "percentage": { "alias": "percentage"; "required": false; "isSignal": true; }; "percentageFormat": { "alias": "percentageFormat"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "progressColor": { "alias": "progressColor"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "actionClicked": "actionClicked"; }, ["iconTemplate", "avatarTemplate", "footerTemplate", "actionsTemplate"], never, true, never>;
3089
+ }
3090
+
3091
+ declare const KPI_CARD_TREND_CONFIGS: Record<AcpKpiCardTrend, AcpKpiCardTrendConfig>;
3092
+ declare function formatValue(value: number | string, format?: string): string;
3093
+
3094
+ declare const KPI_CARD_TOKENS: {
3095
+ SIZE_SM: string;
3096
+ SIZE_MD: string;
3097
+ SIZE_LG: string;
3098
+ VARIANT_DEFAULT: string;
3099
+ VARIANT_ELEVATED: string;
3100
+ VARIANT_OUTLINED: string;
3101
+ VARIANT_FILLED: string;
3102
+ VARIANT_TONAL: string;
3103
+ COLOR_PRIMARY: string;
3104
+ COLOR_SECONDARY: string;
3105
+ COLOR_SUCCESS: string;
3106
+ COLOR_SUCCESS_LIGHT: string;
3107
+ COLOR_WARNING: string;
3108
+ COLOR_WARNING_LIGHT: string;
3109
+ COLOR_ERROR: string;
3110
+ COLOR_ERROR_LIGHT: string;
3111
+ COLOR_INFO: string;
3112
+ COLOR_INFO_LIGHT: string;
3113
+ COLOR_NEUTRAL: string;
3114
+ COLOR_CUSTOM: string;
3115
+ TREND_UP: string;
3116
+ TREND_DOWN: string;
3117
+ TREND_NEUTRAL: string;
3118
+ TREND_NONE: string;
3119
+ };
3120
+
3200
3121
  declare class ToUpperCase implements ControlValueAccessor {
3201
- private el;
3202
- private renderer;
3122
+ private readonly el;
3123
+ private readonly renderer;
3203
3124
  onInput(): void;
3204
3125
  onChange: (_value: string) => void;
3205
3126
  onTouched: () => void;
@@ -3210,6 +3131,41 @@ declare class ToUpperCase implements ControlValueAccessor {
3210
3131
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ToUpperCase, "[acpToUpperCase]", never, {}, {}, never, never, true, never>;
3211
3132
  }
3212
3133
 
3134
+ interface PaginationOptions {
3135
+ hidePageSize?: boolean;
3136
+ showPageSizeOptions?: boolean;
3137
+ showFirstLastButtons?: boolean;
3138
+ disabled?: boolean;
3139
+ }
3140
+ declare class Pagination {
3141
+ totalRecords: number;
3142
+ pageSize: number;
3143
+ pageIndex: number;
3144
+ pageSizeOptions: number[];
3145
+ hidePageSize: boolean;
3146
+ showPageSizeOptions: boolean;
3147
+ showFirstLastButtons: boolean;
3148
+ disabled: boolean;
3149
+ /**
3150
+ * @param pageIndex Current page index (0-based for MatPaginator compatibility)
3151
+ * @param pageSize Number of records per page
3152
+ * @param totalRecords Total number of records
3153
+ * @param pageSizeOptions Available page size options
3154
+ * @param options Display and behavior options
3155
+ */
3156
+ constructor(pageIndex?: number, // MatPaginator starts at 0
3157
+ pageSize?: number, totalRecords?: number, pageSizeOptions?: number[], options?: PaginationOptions);
3158
+ /**
3159
+ * Calculates the total number of pages.
3160
+ */
3161
+ getTotalPages(): number;
3162
+ /**
3163
+ * Handles page event similar to Angular Material example.
3164
+ * @param event MatPaginator PageEvent
3165
+ */
3166
+ handlePageEvent(event: PageEvent): void;
3167
+ }
3168
+
3213
3169
  declare class GetTotalPipe implements PipeTransform {
3214
3170
  transform(colName: string, dataSource: any[]): any;
3215
3171
  /**
@@ -3230,15 +3186,16 @@ interface StatusOptions {
3230
3186
  iconClass?: string;
3231
3187
  }
3232
3188
  declare class StatusDisplayPipe implements PipeTransform {
3233
- private sanitizer;
3234
- private transloco;
3189
+ private readonly sanitizer;
3190
+ private readonly transloco;
3235
3191
  transform(isActive: boolean, options?: StatusOptions): SafeHtml;
3236
3192
  private getStatusText;
3237
3193
  private getTranslationKey;
3238
3194
  private getFallbackText;
3195
+ private sanitizeClassName;
3239
3196
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusDisplayPipe, never>;
3240
3197
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<StatusDisplayPipe, "statusDisplay", true>;
3241
3198
  }
3242
3199
 
3243
- export { ACP_ACTIVE_DATE_DEBOUNCE, ACP_DATE_OPTION_TYPE, ACP_DEFAULT_DATE_OPTIONS, ACP_DRAWER_DATA, ACP_DRAWER_DEFAULT_OPTIONS, ACP_POPOVER_CONTENT, ACP_POPOVER_DEFAULT_OPTIONS, ACP_POPOVER_SCROLL_STRATEGY, AUTOCOMPLETE_WRAPPER_CUSTOMER_CONFIG, AUTOCOMPLETE_WRAPPER_DEFAULT_CONFIG, AUTOCOMPLETE_WRAPPER_LOCAL_CONFIG, AUTOCOMPLETE_WRAPPER_PAGINATED_CONFIG, AUTOCOMPLETE_WRAPPER_PRODUCT_CONFIG, AUTOCOMPLETE_WRAPPER_SIMPLE_CONFIG, AcpAlert, AcpCheckboxBase, AcpCheckboxGroup, AcpDateRangeInput, AcpDrawer, AcpDrawerConfig, AcpDrawerContainer, AcpDrawerRef, AcpPopover, AcpPopoverContent, AcpPopoverTarget, AcpPopoverTrigger, AcpSelectDateOption, AdvancedDialogService, AutocompleteWrapperService, Button, DATA_GRID_DEFAULT_OPTIONS, DataGrid, DateRangePicker, DialogWrapper, DialogZIndexService, DynamicCard, DynamicSelect, GetTotalPipe, IconRegistryService, InputChip, KeyboardNavigationService, OverlayService, Pagination, ReusableAutocompleteComponent, Spinner, StatusDisplayPipe, SvgIcon, TabulatorTable, ThemeSwitcher, ThemeToggle, ToUpperCase, UserIcon, _AcpPopoverContentBase, createAutocompleteWrapperConfig };
3244
- export type { AcpAlertType, AcpCheckboxGroupOption, AcpPopoverDefaultOptions, AcpPopoverPanel, AcpPopoverPosition, AcpPopoverPositionEnd, AcpPopoverPositionStart, AcpPopoverTriggerEvent, AcpSelectedDateEvent, AutoFocusTarget, AutocompleteWrapperActions, AutocompleteWrapperConfig, AutocompleteWrapperEventHandler, AutocompleteWrapperEvents, AutocompleteWrapperFilters, AutocompleteWrapperItem, AutocompleteWrapperItemProperty, AutocompleteWrapperPaginationInfo, AutocompleteWrapperSearchField, AutocompleteWrapperSearchFunction, AutocompleteWrapperSearchMode, AutocompleteWrapperSearchResult, AutocompleteWrapperState, AutocompleteWrapperStockOption, DataGridButtonType, DataGridCellTemplate, DataGridColumn, DataGridColumnButton, DataGridColumnButtonBadge, DataGridColumnButtonPop, DataGridColumnButtonTooltip, DataGridColumnPinOption, DataGridColumnPinValue, DataGridColumnTag, DataGridColumnTagValue, DataGridColumnType, DataGridColumnTypeParameter, DataGridDefaultOptions, DataGridMenuItem, DataGridRowClassFormatter, DataGridRowSelectionFormatter, DataGridSortProp, DateRangePickerOptions, DateRangeValue, DialogSize, DialogType, DialogWrapperConfig, DrawerPosition, FocusableElement, IAcpSelectDateOption, IconRegistryConfig, MatCustomDialogConfig, PopoverCloseReason, ReusableAutocompleteWrapperComponent, TabulatorColumn, TabulatorConfig, TabulatorEventHandlers, TabulatorTheme };
3200
+ export { ACP_ACTIVE_DATE_DEBOUNCE, ACP_BADGE_COLORS, ACP_BADGE_SHAPES, ACP_BADGE_SIZES, ACP_BADGE_VARIANTS, ACP_DATE_OPTION_TYPE, ACP_DEFAULT_DATE_OPTIONS, ACP_DRAWER_DATA, ACP_DRAWER_DEFAULT_OPTIONS, ACP_POPOVER_CONTENT, ACP_POPOVER_DEFAULT_OPTIONS, ACP_POPOVER_SCROLL_STRATEGY, AcpAlert, AcpBadge, AcpButton, AcpCheckboxBase, AcpCheckboxGroup, AcpDateRangeInput, AcpDrawer, AcpDrawerConfig, AcpDrawerContainer, AcpDrawerRef, AcpKpiCard, AcpPopover, AcpPopoverContent, AcpPopoverTarget, AcpPopoverTrigger, AcpSelectDateOption, AdvancedDialogService, Button, DATA_GRID_DEFAULT_OPTIONS, DataGrid, DateRangePicker, DialogWrapper, DialogZIndexService, DynamicCard, DynamicSelect, GetTotalPipe, IconRegistryService, InputChip, KPI_CARD_TOKENS, KPI_CARD_TREND_CONFIGS, KeyboardNavigationService, OverlayService, Pagination, Spinner, StatusDisplayPipe, SvgIcon, TREND_CONFIGS, TabulatorTable, ThemeSwitcher, ThemeToggle, ToUpperCase, UserIcon, _AcpPopoverContentBase, formatValue };
3201
+ export type { AcpAlertType, AcpBadgeColor, AcpBadgeShape, AcpBadgeSize, AcpBadgeTrend, AcpBadgeTrendConfig, AcpBadgeVariant, AcpCheckboxGroupOption, AcpKpiCardColor, AcpKpiCardLayout, AcpKpiCardSize, AcpKpiCardTrend, AcpKpiCardTrendConfig, AcpKpiCardVariant, AcpPopoverDefaultOptions, AcpPopoverPanel, AcpPopoverPosition, AcpPopoverPositionEnd, AcpPopoverPositionStart, AcpPopoverTriggerEvent, AcpSelectedDateEvent, AutoFocusTarget, DataGridButtonType, DataGridCellTemplate, DataGridColumn, DataGridColumnButton, DataGridColumnButtonBadge, DataGridColumnButtonPop, DataGridColumnButtonTooltip, DataGridColumnPinOption, DataGridColumnPinValue, DataGridColumnTag, DataGridColumnTagValue, DataGridColumnType, DataGridColumnTypeParameter, DataGridDefaultOptions, DataGridMenuItem, DataGridRowClassFormatter, DataGridRowSelectionFormatter, DataGridSortProp, DateRangePickerOptions, DateRangeValue, DialogSize, DialogType, DialogWrapperConfig, DrawerPosition, FocusableElement, IAcpSelectDateOption, IconRegistryConfig, MatCustomDialogConfig, PaginationOptions, PopoverCloseReason, TabulatorColumn, TabulatorConfig, TabulatorEventHandlers, TabulatorTheme };