@acontplus/ng-components 1.2.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Type, AfterViewInit, OnDestroy, ViewContainerRef, ElementRef, OnChanges, SimpleChanges, TemplateRef, AfterContentInit, OnInit, InjectionToken, PipeTransform } from '@angular/core';
2
+ import { Type, AfterViewInit, OnDestroy, ViewContainerRef, ElementRef, TemplateRef, AfterContentInit, OnChanges, OnInit, SimpleChanges, PipeTransform } from '@angular/core';
3
3
  import { MatDialogRef } from '@angular/material/dialog';
4
4
  import { ScrollStrategy } from '@angular/cdk/overlay';
5
5
  import { MatChipInputEvent, MatChipEditedEvent } from '@angular/material/chips';
6
6
  import { LiveAnnouncer } from '@angular/cdk/a11y';
7
- import { Tabulator } from 'tabulator-tables';
8
7
  import * as _angular_material_paginator from '@angular/material/paginator';
9
8
  import { PageEvent } from '@angular/material/paginator';
10
9
  import { MatTableDataSource, MatHeaderRowDef, MatRowDef, MatFooterRowDef, MatColumnDef, MatTable } from '@angular/material/table';
11
10
  import { SelectionModel } from '@angular/cdk/collections';
11
+ import { Tabulator } from 'tabulator-tables';
12
12
  import * as rxjs from 'rxjs';
13
13
  import { Observable } from 'rxjs';
14
14
  import { ControlValueAccessor } from '@angular/forms';
@@ -30,7 +30,7 @@ import { ComponentType } from '@angular/cdk/portal';
30
30
  * Card content goes here
31
31
  * </acp-dynamic-card>
32
32
  */
33
- declare class DynamicCardComponent {
33
+ declare class DynamicCard {
34
34
  /**
35
35
  * The title text to display in the card header.
36
36
  * @default null
@@ -121,8 +121,8 @@ declare class DynamicCardComponent {
121
121
  * @param event The click event
122
122
  */
123
123
  handleCardClick(event: Event): void;
124
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicCardComponent, never>;
125
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicCardComponent, "acp-dynamic-card", never, { "cardTitle": { "alias": "cardTitle"; "required": false; "isSignal": true; }; "cardSubtitle": { "alias": "cardSubtitle"; "required": false; "isSignal": true; }; "avatarImageUrl": { "alias": "avatarImageUrl"; "required": false; "isSignal": true; }; "isHeaderVisible": { "alias": "isHeaderVisible"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "hasDivider": { "alias": "hasDivider"; "required": false; "isSignal": true; }; "areActionsVisible": { "alias": "areActionsVisible"; "required": false; "isSignal": true; }; "primaryButtonText": { "alias": "primaryButtonText"; "required": false; "isSignal": true; }; "secondaryButtonText": { "alias": "secondaryButtonText"; "required": false; "isSignal": true; }; "primaryButtonIcon": { "alias": "primaryButtonIcon"; "required": false; "isSignal": true; }; "secondaryButtonIcon": { "alias": "secondaryButtonIcon"; "required": false; "isSignal": true; }; "buttonsPosition": { "alias": "buttonsPosition"; "required": false; "isSignal": true; }; }, { "primaryButtonClicked": "primaryButtonClicked"; "secondaryButtonClicked": "secondaryButtonClicked"; "cardClicked": "cardClicked"; }, never, ["*"], true, never>;
124
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicCard, never>;
125
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicCard, "acp-dynamic-card", never, { "cardTitle": { "alias": "cardTitle"; "required": false; "isSignal": true; }; "cardSubtitle": { "alias": "cardSubtitle"; "required": false; "isSignal": true; }; "avatarImageUrl": { "alias": "avatarImageUrl"; "required": false; "isSignal": true; }; "isHeaderVisible": { "alias": "isHeaderVisible"; "required": false; "isSignal": true; }; "contentPadding": { "alias": "contentPadding"; "required": false; "isSignal": true; }; "hasDivider": { "alias": "hasDivider"; "required": false; "isSignal": true; }; "areActionsVisible": { "alias": "areActionsVisible"; "required": false; "isSignal": true; }; "primaryButtonText": { "alias": "primaryButtonText"; "required": false; "isSignal": true; }; "secondaryButtonText": { "alias": "secondaryButtonText"; "required": false; "isSignal": true; }; "primaryButtonIcon": { "alias": "primaryButtonIcon"; "required": false; "isSignal": true; }; "secondaryButtonIcon": { "alias": "secondaryButtonIcon"; "required": false; "isSignal": true; }; "buttonsPosition": { "alias": "buttonsPosition"; "required": false; "isSignal": true; }; }, { "primaryButtonClicked": "primaryButtonClicked"; "secondaryButtonClicked": "secondaryButtonClicked"; "cardClicked": "cardClicked"; }, never, ["*"], true, never>;
126
126
  }
127
127
 
128
128
  type DialogSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'full';
@@ -163,7 +163,7 @@ interface MatCustomDialogConfig<T = unknown> {
163
163
  exitAnimationDuration?: number | string;
164
164
  }
165
165
  /**
166
- * Configuration interface for opening a dialog inside the custom `DialogWrapperComponent`.
166
+ * Configuration interface for opening a dialog inside the custom `DialogWrapper`.
167
167
  * This interface defines the properties needed to configure the dialog wrapper.
168
168
  *
169
169
  * @interface DialogWrapperConfig
@@ -231,7 +231,7 @@ declare class AdvancedDialogService {
231
231
  * @param matDialogConfig Standard MatDialog configuration (size, position, etc.).
232
232
  * @returns A MatDialogRef instance pointing to the wrapper.
233
233
  */
234
- openInWrapper<T, R = unknown>(wrapperConfig: DialogWrapperConfig<T>, matDialogConfig?: MatCustomDialogConfig<T>): Promise<MatDialogRef<DialogWrapperComponent, R>>;
234
+ openInWrapper<T, R = unknown>(wrapperConfig: DialogWrapperConfig<T>, matDialogConfig?: MatCustomDialogConfig<T>): Promise<MatDialogRef<DialogWrapper, R>>;
235
235
  /**
236
236
  * Helper to open a dialog and only get an observable of the result.
237
237
  */
@@ -258,7 +258,7 @@ declare class OverlayService {
258
258
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<OverlayService>;
259
259
  }
260
260
 
261
- declare class ThemeService {
261
+ declare class ThemeSwitcher {
262
262
  private readonly _darkMode;
263
263
  private readonly platformId;
264
264
  isDarkMode$: rxjs.Observable<boolean>;
@@ -266,8 +266,8 @@ declare class ThemeService {
266
266
  loadMode(): void;
267
267
  toggleDarkMode(): void;
268
268
  private applyTheme;
269
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeService, never>;
270
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeService>;
269
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeSwitcher, never>;
270
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeSwitcher>;
271
271
  }
272
272
 
273
273
  interface AutocompleteWrapperItem {
@@ -458,8 +458,8 @@ declare class AutocompleteWrapperService {
458
458
  * data: { message: 'This is some data passed to the dialog content component' }
459
459
  * });
460
460
  */
461
- declare class DialogWrapperComponent implements AfterViewInit, OnDestroy {
462
- dialogRef: MatDialogRef<DialogWrapperComponent, any>;
461
+ declare class DialogWrapper implements AfterViewInit, OnDestroy {
462
+ dialogRef: MatDialogRef<DialogWrapper, any>;
463
463
  config: DialogWrapperConfig<unknown>;
464
464
  /**
465
465
  * A template reference that acts as an anchor for dynamic content.
@@ -481,7 +481,7 @@ declare class DialogWrapperComponent implements AfterViewInit, OnDestroy {
481
481
  */
482
482
  private bringToFrontTimeoutId;
483
483
  /**
484
- * Creates an instance of DialogWrapperComponent.
484
+ * Creates an instance of DialogWrapper.
485
485
  *
486
486
  * @param dialogRef Reference to the dialog opened via the Material Dialog service
487
487
  * @param config Configuration for the dialog wrapper, injected from MAT_DIALOG_DATA
@@ -507,26 +507,26 @@ declare class DialogWrapperComponent implements AfterViewInit, OnDestroy {
507
507
  * Called when the dialog header is clicked.
508
508
  */
509
509
  bringToFront(): void;
510
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogWrapperComponent, never>;
511
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogWrapperComponent, "acp-dialog-wrapper", never, {}, {}, never, never, true, never>;
510
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogWrapper, never>;
511
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogWrapper, "acp-dialog-wrapper", never, {}, {}, never, never, true, never>;
512
512
  }
513
513
 
514
- declare class UserIconComponent {
514
+ declare class UserIcon {
515
515
  size: _angular_core.InputSignal<string>;
516
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserIconComponent, never>;
517
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserIconComponent, "acp-user-icon", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
516
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserIcon, never>;
517
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserIcon, "acp-user-icon", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
518
518
  }
519
519
 
520
- declare class SvgIconComponent {
520
+ declare class SvgIcon {
521
521
  id: _angular_core.InputSignal<string>;
522
522
  width: _angular_core.InputSignal<string>;
523
523
  height: _angular_core.InputSignal<string>;
524
524
  color: _angular_core.InputSignal<string>;
525
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SvgIconComponent, never>;
526
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SvgIconComponent, "acp-svg-icon", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
525
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SvgIcon, never>;
526
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SvgIcon, "acp-svg-icon", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
527
527
  }
528
528
 
529
- declare class InputChipComponent {
529
+ declare class InputChip {
530
530
  chips: _angular_core.InputSignal<string[]>;
531
531
  labelText: _angular_core.InputSignal<string>;
532
532
  placelholder: _angular_core.InputSignal<string>;
@@ -536,14 +536,26 @@ declare class InputChipComponent {
536
536
  add(event: MatChipInputEvent): void;
537
537
  remove(value: string): void;
538
538
  edit(inputRaw: string, event: MatChipEditedEvent): void;
539
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputChipComponent, never>;
540
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputChipComponent, "acp-input-chip", never, { "chips": { "alias": "chips"; "required": true; "isSignal": true; }; "labelText": { "alias": "labelText"; "required": true; "isSignal": true; }; "placelholder": { "alias": "placelholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
539
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputChip, never>;
540
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputChip, "acp-input-chip", never, { "chips": { "alias": "chips"; "required": true; "isSignal": true; }; "labelText": { "alias": "labelText"; "required": true; "isSignal": true; }; "placelholder": { "alias": "placelholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
541
541
  }
542
542
 
543
- type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark';
544
543
  type ButtonType = 'button' | 'submit' | 'reset';
544
+ type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark';
545
545
  type MaterialButtonStyle = 'text' | 'elevated' | 'outlined' | 'filled' | 'tonal' | 'icon' | 'fab' | 'mini-fab' | 'extended-fab';
546
- declare class ButtonComponent {
546
+
547
+ declare enum REPORT_FORMAT {
548
+ PDF = "pdf",
549
+ EXCEL = "excel",
550
+ WORD = "word",
551
+ IMAGE = "image",
552
+ XML = "xml",
553
+ CSV = "csv",
554
+ MHTML = "mhtml",
555
+ HTML = "html"
556
+ }
557
+
558
+ declare class Button {
547
559
  variant: _angular_core.InputSignal<ButtonVariant>;
548
560
  text: _angular_core.InputSignal<string>;
549
561
  icon: _angular_core.InputSignal<string>;
@@ -551,6 +563,7 @@ declare class ButtonComponent {
551
563
  type: _angular_core.InputSignal<ButtonType>;
552
564
  matStyle: _angular_core.InputSignal<MaterialButtonStyle>;
553
565
  customClass: _angular_core.InputSignal<string | undefined>;
566
+ reportFormat: _angular_core.InputSignal<REPORT_FORMAT | undefined>;
554
567
  extended: _angular_core.InputSignal<boolean>;
555
568
  title: _angular_core.InputSignal<string>;
556
569
  ariaLabel: _angular_core.InputSignal<string>;
@@ -560,143 +573,42 @@ declare class ButtonComponent {
560
573
  tabIndex: _angular_core.InputSignal<number>;
561
574
  testId: _angular_core.InputSignal<string>;
562
575
  handleClick: _angular_core.OutputEmitterRef<unknown>;
576
+ /**
577
+ * Gets the icon to display. If reportFormat is provided and no explicit icon is set,
578
+ * returns the appropriate icon for the report format.
579
+ */
580
+ getIcon(): string;
581
+ /**
582
+ * Gets the variant to use. If reportFormat is provided and variant is still 'primary' (default),
583
+ * returns the appropriate variant for the report format.
584
+ */
585
+ getVariant(): ButtonVariant;
586
+ /**
587
+ * Gets the title to display. If reportFormat is provided, automatically appends
588
+ * the format name to the title (e.g., "Export PDF", "Download Excel").
589
+ */
590
+ getTitle(): string;
591
+ /**
592
+ * Maps report format to appropriate icon
593
+ */
594
+ private getReportIcon;
595
+ /**
596
+ * Maps report format to appropriate button variant/color
597
+ */
598
+ private getReportVariant;
599
+ /**
600
+ * Maps report format to human-readable name
601
+ */
602
+ private getReportFormatName;
563
603
  getButtonClasses(): Record<string, boolean>;
564
604
  getDisplayText(): string;
565
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
566
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "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; }; "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>;
567
- }
568
-
569
- declare class SpinnerComponent {
570
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpinnerComponent, never>;
571
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpinnerComponent, "acp-spinner", never, {}, {}, never, never, true, never>;
572
- }
573
-
574
- interface TabulatorColumn {
575
- title: string;
576
- field: string;
577
- width?: number | string;
578
- minWidth?: number;
579
- maxWidth?: number;
580
- resizable?: boolean;
581
- sortable?: boolean;
582
- headerSort?: boolean;
583
- editor?: string | boolean;
584
- formatter?: string;
585
- formatterParams?: Record<string, any>;
586
- validator?: string | string[];
587
- headerFilter?: string | boolean;
588
- headerFilterParams?: Record<string, any>;
589
- frozen?: boolean;
590
- responsive?: number;
591
- tooltip?: string | boolean;
592
- cssClass?: string;
593
- headerCssClass?: string;
594
- mutator?: string;
595
- accessor?: string;
596
- download?: boolean;
597
- titleDownload?: string;
598
- visible?: boolean;
599
- clipboard?: boolean;
600
- }
601
- interface TabulatorTheme {
602
- name: 'default' | 'modern' | 'midnight' | 'simple' | 'site' | 'site-dark';
603
- cssPath?: string;
604
- }
605
- interface TabulatorConfig {
606
- data?: any[];
607
- columns?: TabulatorColumn[];
608
- height?: string | number | false;
609
- minHeight?: number;
610
- maxHeight?: number;
611
- layout?: 'fitData' | 'fitColumns' | 'fitDataFill' | 'fitDataStretch';
612
- layoutColumnsOnNewData?: boolean;
613
- responsiveLayout?: boolean | 'hide' | 'collapse';
614
- responsiveLayoutCollapseStartOpen?: boolean;
615
- columnMinWidth?: number;
616
- resizableColumns?: boolean;
617
- movableColumns?: boolean;
618
- columnHeaderVertAlign?: 'top' | 'middle' | 'bottom';
619
- placeholder?: string;
620
- footerElement?: string;
621
- tooltips?: boolean | ((cell: any) => string);
622
- tooltipGenerationMode?: 'load' | 'hover';
623
- history?: boolean;
624
- keybindings?: Record<string, string>;
625
- reactiveData?: boolean;
626
- autoResize?: boolean;
627
- tableBuilding?: () => void;
628
- tableBuilt?: () => void;
629
- renderStarted?: () => void;
630
- renderComplete?: () => void;
631
- htmlImporting?: () => void;
632
- htmlImported?: () => void;
633
- dataLoading?: (data: any[]) => void;
634
- dataLoaded?: (data: any[]) => void;
635
- dataChanged?: (data: any[]) => void;
636
- pageLoaded?: (pageno: number) => void;
637
- dataSorting?: (sorters: any[]) => void;
638
- dataSorted?: (sorters: any[], rows: any[]) => void;
639
- dataFiltering?: (filters: any[]) => void;
640
- dataFiltered?: (filters: any[], rows: any[]) => void;
641
- validationFailed?: (cell: any, value: any, validators: any[]) => void;
642
- clipboardCopyStyled?: (clipboard: string) => string;
643
- clipboardCopyConfig?: Record<string, any>;
644
- clipboardPasteParser?: string | ((clipboard: string) => any[][]);
645
- clipboardPasteAction?: 'insert' | 'update' | 'replace';
646
- printAsHtml?: boolean;
647
- printFormatter?: (tableHtml: string, table: any) => string;
648
- printHeader?: string;
649
- printFooter?: string;
650
- tabEndNewRow?: boolean | ((row: any) => any);
651
- }
652
- interface TabulatorEventHandlers {
653
- onCellEdited?: (cell: any) => void;
654
- onRowClick?: (e: Event, row: any) => void;
655
- onRowSelected?: (row: any) => void;
656
- onRowDeselected?: (row: any) => void;
657
- onDataChanged?: (data: any[]) => void;
658
- onTableReady?: (tabulator: any) => void;
605
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Button, never>;
606
+ 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>;
659
607
  }
660
608
 
661
- declare class TabulatorTableComponent implements OnChanges, AfterViewInit, OnDestroy {
662
- readonly data: _angular_core.InputSignal<any[]>;
663
- readonly columns: _angular_core.InputSignal<any[]>;
664
- readonly height: _angular_core.InputSignal<string | number | false>;
665
- readonly layout: _angular_core.InputSignal<"fitData" | "fitColumns" | "fitDataFill" | "fitDataStretch">;
666
- readonly dataTree: _angular_core.InputSignal<boolean>;
667
- readonly dataTreeChildField: _angular_core.InputSignal<string>;
668
- readonly dataTreeStartExpanded: _angular_core.InputSignal<boolean>;
669
- readonly dataTreeSelectPropagate: _angular_core.InputSignal<boolean>;
670
- readonly selectable: _angular_core.InputSignal<boolean>;
671
- readonly reactiveData: _angular_core.InputSignal<boolean>;
672
- readonly placeholder: _angular_core.InputSignal<string>;
673
- readonly autoResize: _angular_core.InputSignal<boolean>;
674
- readonly theme: _angular_core.InputSignal<TabulatorTheme>;
675
- readonly customClass: _angular_core.InputSignal<string>;
676
- readonly rowFormatter: _angular_core.InputSignal<((row: any) => void | null) | undefined>;
677
- readonly options: _angular_core.InputSignal<Record<string, any>>;
678
- readonly cellEdited: _angular_core.OutputEmitterRef<any>;
679
- readonly rowClick: _angular_core.OutputEmitterRef<any>;
680
- readonly rowSelected: _angular_core.OutputEmitterRef<any>;
681
- readonly tableReady: _angular_core.OutputEmitterRef<Tabulator>;
682
- private _tabulator;
683
- containerId: string;
684
- ngAfterViewInit(): void;
685
- ngOnChanges(changes: SimpleChanges): void;
686
- ngOnDestroy(): void;
687
- private initializeTable;
688
- private applyTheme;
689
- private applyCustomClass;
690
- private registerEvents;
691
- private updateData;
692
- private updateColumns;
693
- private destroyTable;
694
- private updateRowFormatter;
695
- getInstance(): Tabulator;
696
- redraw(): void;
697
- private getRowFormatter;
698
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabulatorTableComponent, never>;
699
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabulatorTableComponent, "acp-tabulator-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "dataTree": { "alias": "dataTree"; "required": false; "isSignal": true; }; "dataTreeChildField": { "alias": "dataTreeChildField"; "required": false; "isSignal": true; }; "dataTreeStartExpanded": { "alias": "dataTreeStartExpanded"; "required": false; "isSignal": true; }; "dataTreeSelectPropagate": { "alias": "dataTreeSelectPropagate"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "reactiveData": { "alias": "reactiveData"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autoResize": { "alias": "autoResize"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; "rowFormatter": { "alias": "rowFormatter"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "cellEdited": "cellEdited"; "rowClick": "rowClick"; "rowSelected": "rowSelected"; "tableReady": "tableReady"; }, never, never, true, never>;
609
+ declare class Spinner {
610
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Spinner, never>;
611
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Spinner, "acp-spinner", never, {}, {}, never, never, true, never>;
700
612
  }
701
613
 
702
614
  interface DateRangeConfig<T = any> {
@@ -775,37 +687,38 @@ interface TableRow {
775
687
  }
776
688
 
777
689
  declare class Pagination {
778
- pageIndex: number;
779
- pageSize: number;
780
- maxSize: number;
781
690
  totalRecords: number;
691
+ pageSize: number;
692
+ pageIndex: number;
782
693
  pageSizeOptions: number[];
694
+ hidePageSize: boolean;
695
+ showPageSizeOptions: boolean;
696
+ showFirstLastButtons: boolean;
697
+ disabled: boolean;
783
698
  /**
784
- * @param pageIndex Current page index (0-based for MatPagination compatibility)
699
+ * @param pageIndex Current page index (0-based for MatPaginator compatibility)
785
700
  * @param pageSize Number of records per page
786
- * @param maxSize Maximum number of pages displayed in the pagination control
787
701
  * @param totalRecords Total number of records
788
702
  * @param pageSizeOptions Available page size options
703
+ * @param hidePageSize Whether to hide the page size selector
704
+ * @param showPageSizeOptions Whether to show page size options
705
+ * @param showFirstLastButtons Whether to show first/last buttons
706
+ * @param disabled Whether the paginator is disabled
789
707
  */
790
- constructor(pageIndex?: number, // MatPagination starts at 0
791
- pageSize?: number, maxSize?: number, totalRecords?: number, pageSizeOptions?: number[]);
708
+ constructor(pageIndex?: number, // MatPaginator starts at 0
709
+ pageSize?: number, totalRecords?: number, pageSizeOptions?: number[], hidePageSize?: boolean, showPageSizeOptions?: boolean, showFirstLastButtons?: boolean, disabled?: boolean);
792
710
  /**
793
711
  * Calculates the total number of pages.
794
712
  */
795
713
  getTotalPages(): number;
796
714
  /**
797
- * Updates the page size and resets the page index to the first page.
798
- * @param newPageSize The new page size
799
- */
800
- updatePageSize(newPageSize: number): void;
801
- /**
802
- * Updates pagination data based on paginator event.
803
- * @param event MatPaginator event
715
+ * Handles page event similar to Angular Material example.
716
+ * @param event MatPaginator PageEvent
804
717
  */
805
- updateFromPaginatorEvent(event: any): void;
718
+ handlePageEvent(event: PageEvent): void;
806
719
  }
807
720
 
808
- declare class DynamicTableComponent<T extends TableRow> implements AfterContentInit, OnChanges, OnInit, OnDestroy {
721
+ declare class DynamicTable<T extends TableRow> implements AfterContentInit, OnChanges, OnInit, OnDestroy {
809
722
  private componentRefs;
810
723
  private embeddedViews;
811
724
  private cdr;
@@ -857,17 +770,145 @@ declare class DynamicTableComponent<T extends TableRow> implements AfterContentI
857
770
  onExpand(event: Event, element: T): void;
858
771
  getRowStyle(element: T): Record<string, string>;
859
772
  handlePageEvent(e: PageEvent): void;
860
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicTableComponent<any>, never>;
861
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicTableComponent<any>, "acp-dynamic-table", never, { "showExpand": { "alias": "showExpand"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "highlightRowIndex": { "alias": "highlightRowIndex"; "required": false; "isSignal": true; }; "visibleColumns": { "alias": "visibleColumns"; "required": false; }; "columnDefinitions": { "alias": "columnDefinitions"; "required": false; }; "showSelectBox": { "alias": "showSelectBox"; "required": false; "isSignal": true; }; "multipleSelection": { "alias": "multipleSelection"; "required": false; "isSignal": true; }; "tableData": { "alias": "tableData"; "required": false; "isSignal": true; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; "isSignal": true; }; "expandedDetail": { "alias": "expandedDetail"; "required": false; }; "enablePagination": { "alias": "enablePagination"; "required": false; "isSignal": true; }; "paginationConfig": { "alias": "paginationConfig"; "required": false; }; "isLoadingData": { "alias": "isLoadingData"; "required": false; "isSignal": true; }; }, { "rowSelected": "rowSelected"; "copyRow": "copyRow"; "showExpanded": "showExpanded"; "hideExpanded": "hideExpanded"; "pageEvent": "pageEvent"; }, ["headerRowDefs", "rowDefs", "footerRowDefs", "columnDefs", "rows"], never, true, never>;
773
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicTable<any>, never>;
774
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicTable<any>, "acp-dynamic-table", never, { "showExpand": { "alias": "showExpand"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "highlightRowIndex": { "alias": "highlightRowIndex"; "required": false; "isSignal": true; }; "visibleColumns": { "alias": "visibleColumns"; "required": false; }; "columnDefinitions": { "alias": "columnDefinitions"; "required": false; }; "showSelectBox": { "alias": "showSelectBox"; "required": false; "isSignal": true; }; "multipleSelection": { "alias": "multipleSelection"; "required": false; "isSignal": true; }; "tableData": { "alias": "tableData"; "required": false; "isSignal": true; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; "isSignal": true; }; "expandedDetail": { "alias": "expandedDetail"; "required": false; }; "enablePagination": { "alias": "enablePagination"; "required": false; "isSignal": true; }; "paginationConfig": { "alias": "paginationConfig"; "required": false; }; "isLoadingData": { "alias": "isLoadingData"; "required": false; "isSignal": true; }; }, { "rowSelected": "rowSelected"; "copyRow": "copyRow"; "showExpanded": "showExpanded"; "hideExpanded": "hideExpanded"; "pageEvent": "pageEvent"; }, ["headerRowDefs", "rowDefs", "footerRowDefs", "columnDefs", "rows"], never, true, never>;
775
+ }
776
+
777
+ interface TabulatorColumn {
778
+ title: string;
779
+ field: string;
780
+ width?: number | string;
781
+ minWidth?: number;
782
+ maxWidth?: number;
783
+ resizable?: boolean;
784
+ sortable?: boolean;
785
+ headerSort?: boolean;
786
+ editor?: string | boolean;
787
+ formatter?: string;
788
+ formatterParams?: Record<string, any>;
789
+ validator?: string | string[];
790
+ headerFilter?: string | boolean;
791
+ headerFilterParams?: Record<string, any>;
792
+ frozen?: boolean;
793
+ responsive?: number;
794
+ tooltip?: string | boolean;
795
+ cssClass?: string;
796
+ headerCssClass?: string;
797
+ mutator?: string;
798
+ accessor?: string;
799
+ download?: boolean;
800
+ titleDownload?: string;
801
+ visible?: boolean;
802
+ clipboard?: boolean;
803
+ }
804
+ interface TabulatorTheme {
805
+ name: 'default' | 'modern' | 'midnight' | 'simple' | 'site' | 'site-dark';
806
+ cssPath?: string;
807
+ }
808
+ interface TabulatorConfig {
809
+ data?: any[];
810
+ columns?: TabulatorColumn[];
811
+ height?: string | number | false;
812
+ minHeight?: number;
813
+ maxHeight?: number;
814
+ layout?: 'fitData' | 'fitColumns' | 'fitDataFill' | 'fitDataStretch';
815
+ layoutColumnsOnNewData?: boolean;
816
+ responsiveLayout?: boolean | 'hide' | 'collapse';
817
+ responsiveLayoutCollapseStartOpen?: boolean;
818
+ columnMinWidth?: number;
819
+ resizableColumns?: boolean;
820
+ movableColumns?: boolean;
821
+ columnHeaderVertAlign?: 'top' | 'middle' | 'bottom';
822
+ placeholder?: string;
823
+ footerElement?: string;
824
+ tooltips?: boolean | ((cell: any) => string);
825
+ tooltipGenerationMode?: 'load' | 'hover';
826
+ history?: boolean;
827
+ keybindings?: Record<string, string>;
828
+ reactiveData?: boolean;
829
+ autoResize?: boolean;
830
+ tableBuilding?: () => void;
831
+ tableBuilt?: () => void;
832
+ renderStarted?: () => void;
833
+ renderComplete?: () => void;
834
+ htmlImporting?: () => void;
835
+ htmlImported?: () => void;
836
+ dataLoading?: (data: any[]) => void;
837
+ dataLoaded?: (data: any[]) => void;
838
+ dataChanged?: (data: any[]) => void;
839
+ pageLoaded?: (pageno: number) => void;
840
+ dataSorting?: (sorters: any[]) => void;
841
+ dataSorted?: (sorters: any[], rows: any[]) => void;
842
+ dataFiltering?: (filters: any[]) => void;
843
+ dataFiltered?: (filters: any[], rows: any[]) => void;
844
+ validationFailed?: (cell: any, value: any, validators: any[]) => void;
845
+ clipboardCopyStyled?: (clipboard: string) => string;
846
+ clipboardCopyConfig?: Record<string, any>;
847
+ clipboardPasteParser?: string | ((clipboard: string) => any[][]);
848
+ clipboardPasteAction?: 'insert' | 'update' | 'replace';
849
+ printAsHtml?: boolean;
850
+ printFormatter?: (tableHtml: string, table: any) => string;
851
+ printHeader?: string;
852
+ printFooter?: string;
853
+ tabEndNewRow?: boolean | ((row: any) => any);
854
+ }
855
+ interface TabulatorEventHandlers {
856
+ onCellEdited?: (cell: any) => void;
857
+ onRowClick?: (e: Event, row: any) => void;
858
+ onRowSelected?: (row: any) => void;
859
+ onRowDeselected?: (row: any) => void;
860
+ onDataChanged?: (data: any[]) => void;
861
+ onTableReady?: (tabulator: any) => void;
862
862
  }
863
863
 
864
- declare class ThemeToggleComponent {
864
+ declare class TabulatorTable implements OnChanges, AfterViewInit, OnDestroy {
865
+ readonly data: _angular_core.InputSignal<any[]>;
866
+ readonly columns: _angular_core.InputSignal<any[]>;
867
+ readonly height: _angular_core.InputSignal<string | number | false>;
868
+ readonly layout: _angular_core.InputSignal<"fitData" | "fitColumns" | "fitDataFill" | "fitDataStretch">;
869
+ readonly dataTree: _angular_core.InputSignal<boolean>;
870
+ readonly dataTreeChildField: _angular_core.InputSignal<string>;
871
+ readonly dataTreeStartExpanded: _angular_core.InputSignal<boolean>;
872
+ readonly dataTreeSelectPropagate: _angular_core.InputSignal<boolean>;
873
+ readonly selectable: _angular_core.InputSignal<boolean>;
874
+ readonly reactiveData: _angular_core.InputSignal<boolean>;
875
+ readonly placeholder: _angular_core.InputSignal<string>;
876
+ readonly autoResize: _angular_core.InputSignal<boolean>;
877
+ readonly theme: _angular_core.InputSignal<TabulatorTheme>;
878
+ readonly customClass: _angular_core.InputSignal<string>;
879
+ readonly rowFormatter: _angular_core.InputSignal<((row: any) => void | null) | undefined>;
880
+ readonly options: _angular_core.InputSignal<Record<string, any>>;
881
+ readonly cellEdited: _angular_core.OutputEmitterRef<any>;
882
+ readonly rowClick: _angular_core.OutputEmitterRef<any>;
883
+ readonly rowSelected: _angular_core.OutputEmitterRef<any>;
884
+ readonly tableReady: _angular_core.OutputEmitterRef<Tabulator>;
885
+ private _tabulator;
886
+ containerId: string;
887
+ ngAfterViewInit(): void;
888
+ ngOnChanges(changes: SimpleChanges): void;
889
+ ngOnDestroy(): void;
890
+ private initializeTable;
891
+ private applyTheme;
892
+ private applyCustomClass;
893
+ private registerEvents;
894
+ private updateData;
895
+ private updateColumns;
896
+ private destroyTable;
897
+ private updateRowFormatter;
898
+ getInstance(): Tabulator;
899
+ redraw(): void;
900
+ private getRowFormatter;
901
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabulatorTable, never>;
902
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabulatorTable, "acp-tabulator-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "dataTree": { "alias": "dataTree"; "required": false; "isSignal": true; }; "dataTreeChildField": { "alias": "dataTreeChildField"; "required": false; "isSignal": true; }; "dataTreeStartExpanded": { "alias": "dataTreeStartExpanded"; "required": false; "isSignal": true; }; "dataTreeSelectPropagate": { "alias": "dataTreeSelectPropagate"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "reactiveData": { "alias": "reactiveData"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autoResize": { "alias": "autoResize"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; "rowFormatter": { "alias": "rowFormatter"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "cellEdited": "cellEdited"; "rowClick": "rowClick"; "rowSelected": "rowSelected"; "tableReady": "tableReady"; }, never, never, true, never>;
903
+ }
904
+
905
+ declare class ThemeToggle {
865
906
  private themeService;
866
907
  darkMode$: Observable<boolean>;
867
908
  constructor();
868
909
  toggleDarkMode(): void;
869
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeToggleComponent, never>;
870
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggleComponent, "acp-theme-toggle", never, {}, {}, never, never, true, never>;
910
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeToggle, never>;
911
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggle, "acp-theme-toggle", never, {}, {}, never, never, true, never>;
871
912
  }
872
913
 
873
914
  declare class ReusableAutocompleteComponent implements OnInit, OnDestroy {
@@ -949,7 +990,7 @@ declare class ReusableAutocompleteComponent implements OnInit, OnDestroy {
949
990
  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>;
950
991
  }
951
992
 
952
- declare class ToUpperCaseDirective implements ControlValueAccessor {
993
+ declare class ToUpperCase implements ControlValueAccessor {
953
994
  private el;
954
995
  private renderer;
955
996
  onInput(): void;
@@ -958,12 +999,10 @@ declare class ToUpperCaseDirective implements ControlValueAccessor {
958
999
  writeValue(value: string): void;
959
1000
  registerOnChange(fn: (value: string) => void): void;
960
1001
  registerOnTouched(fn: () => void): void;
961
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToUpperCaseDirective, never>;
962
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ToUpperCaseDirective, "[acpToUpperCase]", never, {}, {}, never, never, true, never>;
1002
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToUpperCase, never>;
1003
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ToUpperCase, "[acpToUpperCase]", never, {}, {}, never, never, true, never>;
963
1004
  }
964
1005
 
965
- declare const DYNAMIC_INPUT: InjectionToken<unknown>;
966
-
967
1006
  declare class GetTotalPipe implements PipeTransform {
968
1007
  transform(colName: string, dataSource: any[]): any;
969
1008
  /**
@@ -994,5 +1033,5 @@ declare class StatusDisplayPipe implements PipeTransform {
994
1033
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<StatusDisplayPipe, "statusDisplay", true>;
995
1034
  }
996
1035
 
997
- export { AUTOCOMPLETE_WRAPPER_CUSTOMER_CONFIG, AUTOCOMPLETE_WRAPPER_DEFAULT_CONFIG, AUTOCOMPLETE_WRAPPER_LOCAL_CONFIG, AUTOCOMPLETE_WRAPPER_PAGINATED_CONFIG, AUTOCOMPLETE_WRAPPER_PRODUCT_CONFIG, AUTOCOMPLETE_WRAPPER_SIMPLE_CONFIG, AdvancedDialogService, AutocompleteWrapperService, ButtonComponent, ColumnDefinition, DYNAMIC_INPUT, DialogWrapperComponent, DynamicCardComponent, DynamicTableComponent, FieldDefinition, GetTotalPipe, InputChipComponent, OverlayService, Pagination, ReusableAutocompleteComponent, SpinnerComponent, StatusDisplayPipe, SvgIconComponent, TableCellIndex, TabulatorTableComponent, ThemeService, ThemeToggleComponent, ToUpperCaseDirective, UserIconComponent, createAutocompleteWrapperConfig };
1036
+ export { AUTOCOMPLETE_WRAPPER_CUSTOMER_CONFIG, AUTOCOMPLETE_WRAPPER_DEFAULT_CONFIG, AUTOCOMPLETE_WRAPPER_LOCAL_CONFIG, AUTOCOMPLETE_WRAPPER_PAGINATED_CONFIG, AUTOCOMPLETE_WRAPPER_PRODUCT_CONFIG, AUTOCOMPLETE_WRAPPER_SIMPLE_CONFIG, AdvancedDialogService, AutocompleteWrapperService, Button, ColumnDefinition, DialogWrapper, DynamicCard, DynamicTable, FieldDefinition, GetTotalPipe, InputChip, OverlayService, Pagination, REPORT_FORMAT, ReusableAutocompleteComponent, Spinner, StatusDisplayPipe, SvgIcon, TableCellIndex, TabulatorTable, ThemeSwitcher, ThemeToggle, ToUpperCase, UserIcon, createAutocompleteWrapperConfig };
998
1037
  export type { AutocompleteWrapperActions, AutocompleteWrapperConfig, AutocompleteWrapperEventHandler, AutocompleteWrapperEvents, AutocompleteWrapperFilters, AutocompleteWrapperItem, AutocompleteWrapperItemProperty, AutocompleteWrapperPaginationInfo, AutocompleteWrapperSearchField, AutocompleteWrapperSearchFunction, AutocompleteWrapperSearchMode, AutocompleteWrapperSearchResult, AutocompleteWrapperState, AutocompleteWrapperStockOption, ButtonType, ButtonVariant, ColumnType, ControlType, DateRangeConfig, DialogSize, DialogWrapperConfig, FieldType, MatCustomDialogConfig, MaterialButtonStyle, OptionSearchConfig, ReusableAutocompleteWrapperComponent, TableContext, TableRow, TabulatorColumn, TabulatorConfig, TabulatorEventHandlers, TabulatorTheme };