@bootkit/ng0 0.0.0-alpha.4 → 0.0.0-alpha.41

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.
Files changed (102) hide show
  1. package/README.md +2 -2
  2. package/common/index.d.ts +263 -7
  3. package/components/accordion/index.d.ts +13 -3
  4. package/components/backdrop/index.d.ts +12 -0
  5. package/components/dropdown/index.d.ts +156 -0
  6. package/components/form-field/index.d.ts +24 -41
  7. package/components/list/index.d.ts +260 -0
  8. package/components/modal/index.d.ts +21 -3
  9. package/components/nav/index.d.ts +23 -19
  10. package/components/offcanvas/index.d.ts +13 -5
  11. package/components/pagination/index.d.ts +34 -8
  12. package/components/select/index.d.ts +160 -0
  13. package/components/sidenav/index.d.ts +125 -0
  14. package/components/table/index.d.ts +191 -59
  15. package/components/tooltip/index.d.ts +20 -11
  16. package/components/vertical-menu/index.d.ts +57 -0
  17. package/data/index.d.ts +103 -38
  18. package/date/index.d.ts +34 -0
  19. package/fesm2022/bootkit-ng0-common.mjs +289 -12
  20. package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
  21. package/fesm2022/bootkit-ng0-components-accordion.mjs +34 -27
  22. package/fesm2022/bootkit-ng0-components-accordion.mjs.map +1 -1
  23. package/fesm2022/bootkit-ng0-components-backdrop.mjs +46 -0
  24. package/fesm2022/bootkit-ng0-components-backdrop.mjs.map +1 -0
  25. package/fesm2022/bootkit-ng0-components-button.mjs +12 -12
  26. package/fesm2022/bootkit-ng0-components-button.mjs.map +1 -1
  27. package/fesm2022/bootkit-ng0-components-card.mjs +13 -13
  28. package/fesm2022/bootkit-ng0-components-card.mjs.map +1 -1
  29. package/fesm2022/bootkit-ng0-components-code.mjs +10 -10
  30. package/fesm2022/bootkit-ng0-components-code.mjs.map +1 -1
  31. package/fesm2022/bootkit-ng0-components-collapse.mjs +16 -16
  32. package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -1
  33. package/fesm2022/bootkit-ng0-components-confirmation.mjs +14 -14
  34. package/fesm2022/bootkit-ng0-components-confirmation.mjs.map +1 -1
  35. package/fesm2022/bootkit-ng0-components-dropdown.mjs +308 -0
  36. package/fesm2022/bootkit-ng0-components-dropdown.mjs.map +1 -0
  37. package/fesm2022/bootkit-ng0-components-form-field.mjs +62 -84
  38. package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -1
  39. package/fesm2022/bootkit-ng0-components-list.mjs +564 -0
  40. package/fesm2022/bootkit-ng0-components-list.mjs.map +1 -0
  41. package/fesm2022/bootkit-ng0-components-modal.mjs +41 -24
  42. package/fesm2022/bootkit-ng0-components-modal.mjs.map +1 -1
  43. package/fesm2022/bootkit-ng0-components-nav.mjs +59 -60
  44. package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -1
  45. package/fesm2022/bootkit-ng0-components-offcanvas.mjs +20 -13
  46. package/fesm2022/bootkit-ng0-components-offcanvas.mjs.map +1 -1
  47. package/fesm2022/bootkit-ng0-components-overlay.mjs.map +1 -1
  48. package/fesm2022/bootkit-ng0-components-pagination.mjs +59 -24
  49. package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -1
  50. package/fesm2022/bootkit-ng0-components-popover.mjs +12 -12
  51. package/fesm2022/bootkit-ng0-components-popover.mjs.map +1 -1
  52. package/fesm2022/bootkit-ng0-components-select.mjs +448 -0
  53. package/fesm2022/bootkit-ng0-components-select.mjs.map +1 -0
  54. package/fesm2022/bootkit-ng0-components-sidenav.mjs +290 -0
  55. package/fesm2022/bootkit-ng0-components-sidenav.mjs.map +1 -0
  56. package/fesm2022/bootkit-ng0-components-stepper.mjs +15 -15
  57. package/fesm2022/bootkit-ng0-components-stepper.mjs.map +1 -1
  58. package/fesm2022/bootkit-ng0-components-table.mjs +303 -159
  59. package/fesm2022/bootkit-ng0-components-table.mjs.map +1 -1
  60. package/fesm2022/bootkit-ng0-components-toast.mjs +7 -7
  61. package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -1
  62. package/fesm2022/bootkit-ng0-components-tooltip.mjs +41 -22
  63. package/fesm2022/bootkit-ng0-components-tooltip.mjs.map +1 -1
  64. package/fesm2022/bootkit-ng0-components-vertical-menu.mjs +148 -0
  65. package/fesm2022/bootkit-ng0-components-vertical-menu.mjs.map +1 -0
  66. package/fesm2022/bootkit-ng0-data.mjs +152 -39
  67. package/fesm2022/bootkit-ng0-data.mjs.map +1 -1
  68. package/fesm2022/bootkit-ng0-date.mjs +50 -0
  69. package/fesm2022/bootkit-ng0-date.mjs.map +1 -0
  70. package/fesm2022/bootkit-ng0-file.mjs.map +1 -1
  71. package/fesm2022/bootkit-ng0-form.mjs +336 -264
  72. package/fesm2022/bootkit-ng0-form.mjs.map +1 -1
  73. package/fesm2022/bootkit-ng0-http.mjs +40 -5
  74. package/fesm2022/bootkit-ng0-http.mjs.map +1 -1
  75. package/fesm2022/bootkit-ng0-layouts-layout1.mjs +317 -0
  76. package/fesm2022/bootkit-ng0-layouts-layout1.mjs.map +1 -0
  77. package/fesm2022/bootkit-ng0-localization-locales.mjs +101 -0
  78. package/fesm2022/bootkit-ng0-localization-locales.mjs.map +1 -0
  79. package/fesm2022/bootkit-ng0-localization.mjs +431 -105
  80. package/fesm2022/bootkit-ng0-localization.mjs.map +1 -1
  81. package/fesm2022/bootkit-ng0-platform-browser.mjs +179 -0
  82. package/fesm2022/bootkit-ng0-platform-browser.mjs.map +1 -0
  83. package/fesm2022/bootkit-ng0-routing.mjs +80 -0
  84. package/fesm2022/bootkit-ng0-routing.mjs.map +1 -0
  85. package/fesm2022/bootkit-ng0-script.mjs +3 -3
  86. package/fesm2022/bootkit-ng0-script.mjs.map +1 -1
  87. package/fesm2022/bootkit-ng0-security.mjs +16 -16
  88. package/fesm2022/bootkit-ng0-security.mjs.map +1 -1
  89. package/fesm2022/bootkit-ng0-utils.mjs +75 -0
  90. package/fesm2022/bootkit-ng0-utils.mjs.map +1 -0
  91. package/fesm2022/bootkit-ng0.mjs +2 -2
  92. package/fesm2022/bootkit-ng0.mjs.map +1 -1
  93. package/form/index.d.ts +94 -62
  94. package/http/index.d.ts +35 -4
  95. package/index.d.ts +2 -2
  96. package/layouts/layout1/index.d.ts +201 -0
  97. package/localization/index.d.ts +231 -42
  98. package/localization/locales/index.d.ts +7 -0
  99. package/package.json +63 -15
  100. package/platform/browser/index.d.ts +88 -0
  101. package/routing/index.d.ts +124 -0
  102. package/utils/index.d.ts +42 -0
@@ -0,0 +1,125 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnDestroy, ElementRef, EventEmitter, AfterViewInit, QueryList, ChangeDetectorRef } from '@angular/core';
3
+
4
+ /**
5
+ * Sidenav mode.
6
+ */
7
+ type SidenavMode = 'push' | 'over';
8
+ /**
9
+ * Sidenav position.
10
+ */
11
+ type SidenavPosition = 'start' | 'end' | 'top' | 'bottom';
12
+ /**
13
+ * Sidenav size.
14
+ */
15
+ type SidenavSize = number | string | 'small' | 'medium' | 'large' | 'full' | undefined;
16
+
17
+ /**
18
+ * A sidenav component that displays a sliding navigation panel.
19
+ */
20
+ declare class SidenavComponent implements OnDestroy {
21
+ private _bodyOverflowStyle?;
22
+ private _sidenavContainer;
23
+ private _vcr;
24
+ private _renderer;
25
+ private _backdropRef?;
26
+ private _backdropClickHandlerUnlisten?;
27
+ private _platformId;
28
+ protected _isPlatformServer: boolean;
29
+ private _resizeSubscription?;
30
+ private readonly _elementRef;
31
+ /**
32
+ * Whether the sidenav is open.
33
+ */
34
+ open: i0.InputSignalWithTransform<boolean, unknown>;
35
+ /**
36
+ * Sidenav mode.
37
+ * Determines how the sidenav is displayed.
38
+ * Can be either 'push' or 'over'.
39
+ * - 'push': The content is pushed aside to make room for the sidenav.
40
+ * - 'over': The sidenav is displayed on top of the content.
41
+ */
42
+ mode: i0.InputSignal<SidenavMode>;
43
+ /**
44
+ * Whether the sidenav has a backdrop.
45
+ * The backdrop is shown only when the sidenav is open and mode is 'over'.
46
+ */
47
+ hasBackdrop: i0.InputSignalWithTransform<boolean, unknown>;
48
+ /**
49
+ * Sidenav z-index.
50
+ * Determines the stack order of the sidenav.
51
+ */
52
+ zIndex: i0.InputSignalWithTransform<number, unknown>;
53
+ /**
54
+ * Sidenav position.
55
+ * Determines the position of the sidenav.
56
+ * Can be either 'start', 'end', 'top', or 'bottom'.
57
+ */
58
+ position: i0.InputSignal<SidenavPosition>;
59
+ /**
60
+ * Sidenav size.
61
+ * Determines the size of the sidenav.
62
+ * Can be either 'small', 'medium', 'large', 'full', or a specific value.
63
+ * If a specific value is provided, it will be used as the width/height of the sidenav.
64
+ * @example
65
+ * - 100, '300px', '50%', '50vh', 'small', 'full', ...
66
+ */
67
+ size: i0.InputSignal<SidenavSize>;
68
+ /**
69
+ * Whether the sidenav is fixed in the viewport.
70
+ */
71
+ fixedInViewport: i0.InputSignalWithTransform<boolean, unknown>;
72
+ elmentRef: ElementRef<any>;
73
+ /**
74
+ * Emits when the backdrop is clicked.
75
+ */
76
+ backdropClick: EventEmitter<PointerEvent>;
77
+ constructor();
78
+ _getFixedSize(): string | undefined;
79
+ private _observeResize;
80
+ private _createBackdrop;
81
+ private _destroyBackdrop;
82
+ ngOnDestroy(): void;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidenavComponent, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidenavComponent, "ng0-sidenav", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fixedInViewport": { "alias": "fixedInViewport"; "required": false; "isSignal": true; }; }, { "backdropClick": "backdropClick"; }, never, ["*"], true, never>;
85
+ }
86
+
87
+ /**
88
+ * Sidenav container component
89
+ */
90
+ declare class SidenavContainerComponent implements AfterViewInit {
91
+ private _platformId;
92
+ protected _isPlatformServer: boolean;
93
+ protected _isTransitionEnabled: boolean;
94
+ protected _sidenavs: QueryList<SidenavComponent>;
95
+ /**
96
+ * Emitted when the backdrop is clicked.
97
+ */
98
+ backdropClick: EventEmitter<any>;
99
+ changeDetectorRef: ChangeDetectorRef;
100
+ protected _getPadding(position: SidenavPosition): string | undefined;
101
+ ngAfterViewInit(): void;
102
+ protected _canComputePadding(): boolean;
103
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidenavContainerComponent, never>;
104
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidenavContainerComponent, "ng0-sidenav-container", never, {}, { "backdropClick": "backdropClick"; }, ["_sidenavs"], ["ng0-sidenav-content", "*"], true, never>;
105
+ }
106
+
107
+ /**
108
+ * Sidenav content component
109
+ */
110
+ declare class SidenavContentComponent {
111
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidenavContentComponent, never>;
112
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidenavContentComponent, "ng0-sidenav-content", never, {}, {}, never, ["*"], true, never>;
113
+ }
114
+
115
+ /**
116
+ * Sidenav module
117
+ */
118
+ declare class SidenavModule {
119
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidenavModule, never>;
120
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SidenavModule, never, [typeof SidenavContainerComponent, typeof SidenavComponent, typeof SidenavContentComponent], [typeof SidenavContainerComponent, typeof SidenavComponent, typeof SidenavContentComponent]>;
121
+ static ɵinj: i0.ɵɵInjectorDeclaration<SidenavModule>;
122
+ }
123
+
124
+ export { SidenavComponent, SidenavContainerComponent, SidenavContentComponent, SidenavModule };
125
+ export type { SidenavMode, SidenavPosition, SidenavSize };
@@ -1,39 +1,152 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef, OnInit, AfterContentInit, OnDestroy, QueryList, DestroyRef } from '@angular/core';
2
+ import { OnInit, TemplateRef, AfterContentInit, OnDestroy, QueryList, DestroyRef } from '@angular/core';
3
3
  import { formatString } from '@bootkit/ng0/common';
4
- import { DataLoader, DataSource } from '@bootkit/ng0/data';
4
+ import { LocalizationService, TableComponentPagingFormatter } from '@bootkit/ng0/localization';
5
+ import { DataSourceLike, DataResult, DataRequest, DataSource } from '@bootkit/ng0/data';
5
6
 
6
- type DataTableColumnBadgeValueType = string | number | boolean;
7
- declare class TableColumnDirective {
8
- field?: string;
9
- title?: string;
10
- emptyCellText?: string;
11
- /** Column type */
12
- type: 'text' | 'number' | 'currency' | 'date' | 'time' | {
13
- enum?: string;
14
- boolean?: {
15
- falseKey?: string;
16
- trueKey?: string;
17
- };
18
- currency?: string;
7
+ /**
8
+ * Options for configuring the table's paging behavior.
9
+ */
10
+ interface TablePagingOptions {
11
+ /**
12
+ * If true, the table will show pagination controls at the bottom.
13
+ * This will allow users to navigate between pages of data.
14
+ * Default is true.
15
+ */
16
+ showPagingControls?: boolean;
17
+ /**
18
+ * Initial page index to load when the table is initialized.
19
+ * This is only used if pagable is true.
20
+ * The index starts from 1.
21
+ * Default is 1.
22
+ */
23
+ pageIndex?: number;
24
+ pageSize?: number;
25
+ /**
26
+ * Array of page size options to display in the page size selector.
27
+ * If not provided, the default page size options will be used.
28
+ */
29
+ pageSizeOptions?: number[];
30
+ /**
31
+ * If true, the table will show a page size selector.
32
+ */
33
+ showPageSizeOptions?: boolean;
34
+ showPageSizeSelectorLabel?: boolean;
35
+ showNextPreviousButtons?: boolean;
36
+ showFirstLastButtons?: boolean;
37
+ /**
38
+ * Maximum number of visible pages.
39
+ * Default is 10.
40
+ */
41
+ maxVisiblePages?: number;
42
+ /**
43
+ * If true, the table will show paging info at the bottom.
44
+ * This will show the number of records displayed and total records.
45
+ */
46
+ showPagingInfo?: boolean;
47
+ }
48
+ /**
49
+ * Type of the table cell.
50
+ * This can be a primitive type like 'number', 'currency', 'date', 'time',
51
+ * or an object with specific formatting options.
52
+ */
53
+ type TableCellType = 'text' | 'number' | 'currency' | 'date' | 'time' | {
54
+ /** Enum formatting options */
55
+ enum?: {
56
+ /** The name of the enum to use for translation */
57
+ name: string;
58
+ fallback?: string;
19
59
  };
20
- template?: TemplateRef<any>;
21
- cellClass?: string | string[] | {
22
- [klass: string]: any;
23
- } | null | undefined;
24
- shrink: boolean;
25
- bold: boolean;
26
- badge?: {
27
- primary?: DataTableColumnBadgeValueType;
28
- secondary?: DataTableColumnBadgeValueType;
29
- success?: DataTableColumnBadgeValueType;
60
+ /** Boolean formatting options */
61
+ boolean?: {
62
+ false?: string;
63
+ true?: string;
30
64
  };
31
- filterable: boolean;
32
- filterValue?: string;
33
- filterField?: string;
65
+ currency?: {};
66
+ };
67
+
68
+ declare class TableColumnDirective implements OnInit {
69
+ /**
70
+ * The field in the data source to bind to. If not set, the column will not display any data.
71
+ */
72
+ field: _angular_core.InputSignal<string | undefined>;
73
+ /**
74
+ * The title of the column. This will be displayed in the header row.
75
+ */
76
+ title: _angular_core.InputSignal<string | undefined>;
77
+ /**
78
+ * Text to display in the cell if the value is null or undefined.
79
+ */
80
+ emptyCellText: _angular_core.InputSignal<string | undefined>;
81
+ /**
82
+ * Type of the table cell.
83
+ */
84
+ type: _angular_core.InputSignal<TableCellType>;
85
+ /**
86
+ * CSS class(es) to apply to the table cell.
87
+ */
88
+ cellClass: _angular_core.InputSignal<string | {
89
+ [klass: string]: any;
90
+ } | string[] | null | undefined>;
91
+ /**
92
+ * @deprecated Use `cellClass` instead.
93
+ */
94
+ bold: _angular_core.InputSignalWithTransform<boolean, unknown>;
95
+ /**
96
+ * @deprecated Use `cellClass` instead.
97
+ */
98
+ shrink: _angular_core.InputSignalWithTransform<boolean, unknown>;
99
+ /**
100
+ * If true, the column will support filtering.
101
+ */
102
+ filterable: _angular_core.InputSignalWithTransform<boolean, unknown>;
103
+ /**
104
+ * The current filter value of the column.
105
+ */
106
+ filterValue: _angular_core.ModelSignal<any>;
107
+ /**
108
+ * The field to use for filtering. If not set, the `field` property will be used.
109
+ * @deprecated Use `fieldName` instead.
110
+ */
111
+ filterField: _angular_core.InputSignal<string | undefined>;
112
+ /**
113
+ * The current filter operator of the column.
114
+ */
115
+ filterOperator: _angular_core.ModelSignal<string | undefined>;
116
+ /**
117
+ * The list of filter operators to show in the filter dropdown. If not set, a default list will be used based on the column type.
118
+ */
119
+ filterOperators: _angular_core.InputSignal<string[] | undefined>;
120
+ /**
121
+ * If true, the filter operators dropdown will be shown.
122
+ */
123
+ showFilterOperators: _angular_core.WritableSignal<boolean>;
124
+ /**
125
+ * The name of the field in the data source. If not set, the `field` property will be used.
126
+ */
127
+ fieldName: _angular_core.InputSignal<string | undefined>;
128
+ /**
129
+ * If true, the column will support sorting.
130
+ */
131
+ sortable: _angular_core.InputSignalWithTransform<boolean, unknown>;
132
+ /**
133
+ * The current sort direction of the column.
134
+ */
135
+ sortDirection: _angular_core.ModelSignal<"none" | "asc" | "desc">;
136
+ template?: TemplateRef<any>;
34
137
  constructor();
138
+ ngOnInit(): void;
139
+ /**
140
+ * Get the list of filter operators to show in the filter dropdown.
141
+ */
142
+ getFilterOperators(): string[];
143
+ /**
144
+ * Toggle the sort direction of the column.
145
+ * @returns void
146
+ */
147
+ toggleSortDirection(): void;
35
148
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableColumnDirective, never>;
36
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableColumnDirective, "ng0-table-col", never, { "field": { "alias": "field"; "required": false; }; "title": { "alias": "title"; "required": false; }; "emptyCellText": { "alias": "emptyCellText"; "required": false; }; "type": { "alias": "type"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "shrink": { "alias": "shrink"; "required": false; }; "bold": { "alias": "bold"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "filterValue": { "alias": "filterValue"; "required": false; }; "filterField": { "alias": "filterField"; "required": false; }; }, {}, ["template"], never, true, never>;
149
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableColumnDirective, "ng0-table-col", never, { "field": { "alias": "field"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "emptyCellText": { "alias": "emptyCellText"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "cellClass": { "alias": "cellClass"; "required": false; "isSignal": true; }; "bold": { "alias": "bold"; "required": false; "isSignal": true; }; "shrink": { "alias": "shrink"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "filterValue": { "alias": "filterValue"; "required": false; "isSignal": true; }; "filterField": { "alias": "filterField"; "required": false; "isSignal": true; }; "filterOperator": { "alias": "filterOperator"; "required": false; "isSignal": true; }; "filterOperators": { "alias": "filterOperators"; "required": false; "isSignal": true; }; "fieldName": { "alias": "fieldName"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "sortDirection": { "alias": "sortDirection"; "required": false; "isSignal": true; }; }, { "filterValue": "filterValueChange"; "filterOperator": "filterOperatorChange"; "sortDirection": "sortDirectionChange"; }, ["template"], never, true, never>;
37
150
  }
38
151
 
39
152
  declare class TableDetailRowDirective {
@@ -44,48 +157,44 @@ declare class TableDetailRowDirective {
44
157
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableDetailRowDirective, "[ng0-table-detail-row]", never, { "showCallback": { "alias": "showCallback"; "required": false; }; }, {}, never, never, true, never>;
45
158
  }
46
159
 
160
+ /**
161
+ * A generic table component that can display data in a tabular format.
162
+ * It supports features like pagination, sorting, filtering, and row details.
163
+ * It can be used with any data source that implements the DataSource interface.
164
+ */
47
165
  declare class TableComponent implements OnInit, AfterContentInit, OnDestroy {
166
+ protected _ls: LocalizationService;
48
167
  private _destroyRef;
49
168
  /**
50
169
  * The data source for the table.
51
170
  * This can be an array of data, a function that returns an observable of data,
52
171
  * or an instance of DataSource.
53
172
  */
54
- source: _angular_core.InputSignal<any[] | DataLoader | DataSource<any> | null | undefined>;
173
+ source: _angular_core.InputSignal<DataSourceLike<any>>;
55
174
  /**
56
175
  * If true, the table will automatically load data when initialized.
57
176
  * This is useful for tables that need to display data immediately without user interaction.
58
177
  */
59
- autoLoad: _angular_core.InputSignal<boolean>;
178
+ autoLoad: _angular_core.InputSignalWithTransform<boolean, unknown>;
60
179
  /**
61
180
  * If true, the table will show row numbers.
62
181
  * This will add a column to the left of the table with the row numbers.
63
182
  */
64
- showRowNumbers: _angular_core.InputSignal<boolean>;
183
+ showRowNumbers: _angular_core.InputSignalWithTransform<boolean, unknown>;
65
184
  /**
66
185
  * If true, the table will show the header row.
67
186
  */
68
- showHeader: _angular_core.InputSignal<boolean>;
187
+ showHeader: _angular_core.InputSignalWithTransform<boolean, unknown>;
69
188
  /**
70
189
  * If true, the table will support pagination.
71
190
  * If false, the table will load all records at once.
72
191
  */
73
- pagable: _angular_core.InputSignal<boolean>;
192
+ pageable: _angular_core.InputSignalWithTransform<TablePagingOptions | undefined, boolean | TablePagingOptions>;
74
193
  /**
75
- * If true, the table will show a pagination controls at the bottom.
76
- */
77
- showPagination: _angular_core.InputSignal<boolean>;
78
- /**
79
- * The number of records to show per page.
80
- * This is only used if pagable is true.
194
+ * If true, the table will support sorting.
195
+ * This will add a sort icon to each column header.
81
196
  */
82
- pageSize: _angular_core.InputSignal<number>;
83
- /**
84
- * The current page index.
85
- * This is only used if pagable is true.
86
- * The first page is 0.
87
- */
88
- pageIndex: _angular_core.InputSignal<number>;
197
+ sortable: _angular_core.InputSignalWithTransform<boolean, unknown>;
89
198
  /**
90
199
  * The CSS class to apply to the table element.
91
200
  * This can be used to apply custom styles to the table.
@@ -99,36 +208,60 @@ declare class TableComponent implements OnInit, AfterContentInit, OnDestroy {
99
208
  * The caption of the table.
100
209
  */
101
210
  caption: _angular_core.InputSignal<string | undefined>;
211
+ /**
212
+ * The height of the table in pixels.
213
+ * This can be used to set a fixed height for the table.
214
+ */
102
215
  height: _angular_core.InputSignal<number | undefined>;
103
216
  /**
104
217
  * If true, the table will support filtering.
105
218
  * This will add a filter input to each column header.
106
219
  */
107
- filterable: _angular_core.InputSignal<boolean>;
220
+ filterable: _angular_core.InputSignalWithTransform<boolean, unknown>;
221
+ /**
222
+ * The indicator to show while the table is loading data for the first time.
223
+ */
224
+ loadingIndicator: _angular_core.InputSignalWithTransform<"none" | "simple" | "spinner", boolean | "none" | "simple" | "spinner">;
225
+ /** If true, the table will show a loading cover while data is being loaded.
226
+ * This can be used to prevent user interaction with the table while loading.
227
+ * This cover is not displayed when the table is loading for the first time.
228
+ * Instead, the table will show a loading based on loadingIndicator settings.
229
+ */
230
+ loadingCover: _angular_core.InputSignalWithTransform<"none" | "simple" | "spinner", boolean | "none" | "simple" | "spinner">;
108
231
  protected _columns: QueryList<TableColumnDirective>;
109
232
  protected _detailRow?: TableDetailRowDirective;
110
- protected _data?: any[];
111
- protected _totalRecords?: number;
112
- protected _totalPages?: number;
233
+ protected _dataResult: _angular_core.WritableSignal<DataResult<any> | undefined>;
234
+ protected _lastRequest?: DataRequest;
235
+ protected _loadingRequest?: DataRequest;
113
236
  protected _rowStates: Map<any, {
114
237
  expanded: boolean;
115
238
  }>;
116
239
  protected _formatString: typeof formatString;
117
240
  private _changeSubscription?;
118
241
  protected _dataSource: DataSource;
119
- constructor(_destroyRef: DestroyRef);
242
+ protected _pagingFormatter: TableComponentPagingFormatter;
243
+ protected _lastError?: any;
244
+ constructor(_ls: LocalizationService, _destroyRef: DestroyRef);
120
245
  ngOnInit(): void;
121
246
  ngAfterContentInit(): void;
122
- reload(): void;
123
- get loading(): boolean;
247
+ /**
248
+ * Load data for the specified page index (optional).
249
+ * @param pageIndex The page index to load.
250
+ */
251
+ load(pageIndex?: number): void;
252
+ /**
253
+ * Determines if the table is currently loading data.
254
+ */
255
+ get isLoading(): _angular_core.Signal<boolean>;
124
256
  protected _getCellValue(row: any, col: TableColumnDirective): any;
125
- protected onNextPageClick(): void;
126
- protected onPreviousPageClick(): void;
127
- protected onToggleRowDetailClick(row: any): void;
257
+ protected _onPageChange(pageIndex: number): void;
258
+ protected _onToggleRowDetailClick(row: any): void;
128
259
  protected isRowExpanded(row: any): boolean;
260
+ protected _onToggleFilterOperator(col: TableColumnDirective): void;
261
+ protected _onSelectFilterOperator(col: TableColumnDirective, filterOperator: string): void;
129
262
  ngOnDestroy(): void;
130
263
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent, never>;
131
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "ng0-table", ["ng0Table"], { "source": { "alias": "source"; "required": true; "isSignal": true; }; "autoLoad": { "alias": "autoLoad"; "required": false; "isSignal": true; }; "showRowNumbers": { "alias": "showRowNumbers"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "pagable": { "alias": "pagable"; "required": false; "isSignal": true; }; "showPagination": { "alias": "showPagination"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageIndex": { "alias": "pageIndex"; "required": false; "isSignal": true; }; "tableClass": { "alias": "tableClass"; "required": false; "isSignal": true; }; "headerClass": { "alias": "headerClass"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; }, {}, ["_detailRow", "_columns"], never, true, never>;
264
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent, "ng0-table", ["ng0Table"], { "source": { "alias": "source"; "required": true; "isSignal": true; }; "autoLoad": { "alias": "autoLoad"; "required": false; "isSignal": true; }; "showRowNumbers": { "alias": "showRowNumbers"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "pageable": { "alias": "pageable"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "tableClass": { "alias": "tableClass"; "required": false; "isSignal": true; }; "headerClass": { "alias": "headerClass"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "loadingIndicator": { "alias": "loadingIndicator"; "required": false; "isSignal": true; }; "loadingCover": { "alias": "loadingCover"; "required": false; "isSignal": true; }; }, {}, ["_detailRow", "_columns"], ["paging-first", "paging-last", "paging-next", "paging-previous", "paging-info"], true, never>;
132
265
  }
133
266
 
134
267
  declare class TableModule {
@@ -138,4 +271,3 @@ declare class TableModule {
138
271
  }
139
272
 
140
273
  export { TableColumnDirective, TableComponent, TableDetailRowDirective, TableModule };
141
- export type { DataTableColumnBadgeValueType };
@@ -1,4 +1,4 @@
1
- import * as _angular_core from '@angular/core';
1
+ import * as i0 from '@angular/core';
2
2
  import { TemplateRef, OnInit, OnDestroy, ElementRef, DestroyRef, ViewContainerRef } from '@angular/core';
3
3
  import { Overlay } from '@angular/cdk/overlay';
4
4
 
@@ -10,21 +10,30 @@ declare class TooltipDirective implements OnInit, OnDestroy {
10
10
  private elementRef;
11
11
  private destroyRef;
12
12
  private viewRef;
13
- content: _angular_core.InputSignal<string | TemplateRef<any> | null | undefined>;
14
- placement: _angular_core.InputSignal<TooltipPlacement>;
13
+ content: i0.InputSignal<string | TemplateRef<any> | null | undefined>;
14
+ placement: i0.InputSignal<TooltipPlacement>;
15
15
  private portal;
16
16
  private overlayRef?;
17
17
  constructor(overlayService: Overlay, elementRef: ElementRef, destroyRef: DestroyRef, viewRef: ViewContainerRef);
18
18
  ngOnInit(): void;
19
- private onMouseEnter;
20
- private onMouseLeave;
21
- private createOverlay;
22
- private disposeOverlay;
23
- private getPositions;
19
+ private _onMouseEnter;
20
+ private _onMouseLeave;
21
+ private _createOverlay;
22
+ private _disposeOverlay;
23
+ private _getPositions;
24
24
  ngOnDestroy(): void;
25
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TooltipDirective, never>;
26
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TooltipDirective, "[ng0Tooltip]", ["ng0Tooltip"], { "content": { "alias": "ng0Tooltip"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<TooltipDirective, never>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipDirective, "[ng0Tooltip]", ["ng0Tooltip"], { "content": { "alias": "ng0Tooltip"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
27
27
  }
28
28
 
29
- export { TooltipDirective };
29
+ /**
30
+ * Tooltip module.
31
+ */
32
+ declare class TooltipModule {
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<TooltipModule, never>;
34
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TooltipModule, never, [typeof TooltipDirective], [typeof TooltipDirective]>;
35
+ static ɵinj: i0.ɵɵInjectorDeclaration<TooltipModule>;
36
+ }
37
+
38
+ export { TooltipDirective, TooltipModule };
30
39
  export type { TooltipContent, TooltipPlacement };
@@ -0,0 +1,57 @@
1
+ import * as i0 from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+
4
+ declare class VerticalMenuArrowDirective {
5
+ readonly templateRef: TemplateRef<any>;
6
+ constructor(templateRef: TemplateRef<any>);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<VerticalMenuArrowDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VerticalMenuArrowDirective, "[ng0VerticalMenuArrow], [ng0VmenuArrow]", ["ng0VerticalMenuArrow"], {}, {}, never, never, true, never>;
9
+ }
10
+
11
+ declare class VerticalMenuComponent {
12
+ /**
13
+ * Whether to expand/collapse items when clicking on them
14
+ */
15
+ readonly expandItemsByClick: i0.InputSignal<boolean>;
16
+ readonly collapseTimings: i0.InputSignal<string | number>;
17
+ readonly arrowDirective?: VerticalMenuArrowDirective;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<VerticalMenuComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<VerticalMenuComponent, "ng0-vertical-menu, ng0-vmenu", never, { "expandItemsByClick": { "alias": "expandItemsByClick"; "required": false; "isSignal": true; }; "collapseTimings": { "alias": "collapseTimings"; "required": false; "isSignal": true; }; }, {}, ["arrowDirective"], ["*"], true, never>;
20
+ }
21
+
22
+ declare class VerticalMenuItemChildrenComponent {
23
+ menuItem: VerticalMenuItemComponent;
24
+ protected _menu: VerticalMenuComponent;
25
+ expanded: i0.ModelSignal<boolean>;
26
+ protected _items?: VerticalMenuItemComponent;
27
+ constructor(menuItem: VerticalMenuItemComponent, _menu: VerticalMenuComponent);
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<VerticalMenuItemChildrenComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<VerticalMenuItemChildrenComponent, "ng0-vertical-menu-item-children, ng0-vmenu-item-children, ng0-vmenu-children", ["ng0VmenuItemChildren"], { "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, ["_items"], ["*"], true, never>;
30
+ }
31
+
32
+ declare class VerticalMenuItemComponent {
33
+ protected _menu: VerticalMenuComponent;
34
+ readonly active: i0.ModelSignal<boolean>;
35
+ readonly children?: VerticalMenuItemChildrenComponent;
36
+ constructor(_menu: VerticalMenuComponent);
37
+ get hasChildren(): boolean;
38
+ get isExpanded(): boolean;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<VerticalMenuItemComponent, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<VerticalMenuItemComponent, "ng0-vertical-menu-item, ng0-vmenu-item", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, ["children"], ["*"], true, never>;
41
+ }
42
+
43
+ declare class VerticalMenuItemContentComponent {
44
+ protected readonly _menu: VerticalMenuComponent;
45
+ protected readonly menuItem: VerticalMenuItemComponent;
46
+ protected _onClick(): void;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<VerticalMenuItemContentComponent, never>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<VerticalMenuItemContentComponent, "ng0-vertical-menu-item-content, ng0-vmenu-item-content, ng0-vmenu-content", never, {}, {}, never, ["*"], true, never>;
49
+ }
50
+
51
+ declare class VerticalMenuModule {
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<VerticalMenuModule, never>;
53
+ static ɵmod: i0.ɵɵNgModuleDeclaration<VerticalMenuModule, never, [typeof VerticalMenuComponent, typeof VerticalMenuItemComponent, typeof VerticalMenuItemChildrenComponent, typeof VerticalMenuItemContentComponent, typeof VerticalMenuArrowDirective], [typeof VerticalMenuComponent, typeof VerticalMenuItemComponent, typeof VerticalMenuItemChildrenComponent, typeof VerticalMenuItemContentComponent, typeof VerticalMenuArrowDirective]>;
54
+ static ɵinj: i0.ɵɵInjectorDeclaration<VerticalMenuModule>;
55
+ }
56
+
57
+ export { VerticalMenuArrowDirective, VerticalMenuComponent, VerticalMenuItemChildrenComponent, VerticalMenuItemComponent, VerticalMenuItemContentComponent, VerticalMenuModule };