@shival99/z-ui 1.0.1 → 1.0.3

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 (115) hide show
  1. package/README.md +50 -77
  2. package/assets/css/animations.css +207 -0
  3. package/assets/css/base.css +76 -0
  4. package/assets/css/tailwind.css +53 -0
  5. package/assets/css/themes/gray.css +73 -0
  6. package/assets/css/themes/green.css +75 -0
  7. package/assets/css/themes/hospital.css +79 -0
  8. package/assets/css/themes/neutral.css +73 -0
  9. package/assets/css/themes/orange.css +73 -0
  10. package/assets/css/themes/slate.css +73 -0
  11. package/assets/css/themes/stone.css +73 -0
  12. package/assets/css/themes/violet.css +73 -0
  13. package/assets/css/themes/zinc.css +73 -0
  14. package/assets/images/avatar.svg +6 -0
  15. package/assets/images/logo.svg +6 -0
  16. package/fesm2022/shival99-z-ui-components-z-accordion.mjs +148 -0
  17. package/fesm2022/shival99-z-ui-components-z-accordion.mjs.map +1 -0
  18. package/fesm2022/shival99-z-ui-components-z-breadcrumb.mjs +74 -0
  19. package/fesm2022/shival99-z-ui-components-z-breadcrumb.mjs.map +1 -0
  20. package/fesm2022/shival99-z-ui-components-z-button.mjs +155 -0
  21. package/fesm2022/shival99-z-ui-components-z-button.mjs.map +1 -0
  22. package/fesm2022/shival99-z-ui-components-z-calendar.mjs +2335 -0
  23. package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -0
  24. package/fesm2022/shival99-z-ui-components-z-checkbox.mjs +240 -0
  25. package/fesm2022/shival99-z-ui-components-z-checkbox.mjs.map +1 -0
  26. package/fesm2022/shival99-z-ui-components-z-code.mjs +139 -0
  27. package/fesm2022/shival99-z-ui-components-z-code.mjs.map +1 -0
  28. package/fesm2022/shival99-z-ui-components-z-drawer.mjs +664 -0
  29. package/fesm2022/shival99-z-ui-components-z-drawer.mjs.map +1 -0
  30. package/fesm2022/shival99-z-ui-components-z-dropdown-menu.mjs +55 -0
  31. package/fesm2022/shival99-z-ui-components-z-dropdown-menu.mjs.map +1 -0
  32. package/fesm2022/shival99-z-ui-components-z-editor.mjs +411 -0
  33. package/fesm2022/shival99-z-ui-components-z-editor.mjs.map +1 -0
  34. package/fesm2022/shival99-z-ui-components-z-filter.mjs +794 -0
  35. package/fesm2022/shival99-z-ui-components-z-filter.mjs.map +1 -0
  36. package/fesm2022/shival99-z-ui-components-z-icon.mjs +451 -0
  37. package/fesm2022/shival99-z-ui-components-z-icon.mjs.map +1 -0
  38. package/fesm2022/shival99-z-ui-components-z-input.mjs +804 -0
  39. package/fesm2022/shival99-z-ui-components-z-input.mjs.map +1 -0
  40. package/fesm2022/shival99-z-ui-components-z-loading.mjs +105 -0
  41. package/fesm2022/shival99-z-ui-components-z-loading.mjs.map +1 -0
  42. package/fesm2022/shival99-z-ui-components-z-menu.mjs +351 -0
  43. package/fesm2022/shival99-z-ui-components-z-menu.mjs.map +1 -0
  44. package/fesm2022/shival99-z-ui-components-z-modal.mjs +722 -0
  45. package/fesm2022/shival99-z-ui-components-z-modal.mjs.map +1 -0
  46. package/fesm2022/shival99-z-ui-components-z-pagination.mjs +131 -0
  47. package/fesm2022/shival99-z-ui-components-z-pagination.mjs.map +1 -0
  48. package/fesm2022/shival99-z-ui-components-z-popover.mjs +917 -0
  49. package/fesm2022/shival99-z-ui-components-z-popover.mjs.map +1 -0
  50. package/fesm2022/shival99-z-ui-components-z-radio.mjs +154 -0
  51. package/fesm2022/shival99-z-ui-components-z-radio.mjs.map +1 -0
  52. package/fesm2022/shival99-z-ui-components-z-select.mjs +998 -0
  53. package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -0
  54. package/fesm2022/shival99-z-ui-components-z-skeleton.mjs +139 -0
  55. package/fesm2022/shival99-z-ui-components-z-skeleton.mjs.map +1 -0
  56. package/fesm2022/shival99-z-ui-components-z-switch.mjs +127 -0
  57. package/fesm2022/shival99-z-ui-components-z-switch.mjs.map +1 -0
  58. package/fesm2022/shival99-z-ui-components-z-table.mjs +2628 -0
  59. package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -0
  60. package/fesm2022/shival99-z-ui-components-z-tabs.mjs +259 -0
  61. package/fesm2022/shival99-z-ui-components-z-tabs.mjs.map +1 -0
  62. package/fesm2022/shival99-z-ui-components-z-timeline.mjs +335 -0
  63. package/fesm2022/shival99-z-ui-components-z-timeline.mjs.map +1 -0
  64. package/fesm2022/shival99-z-ui-components-z-toast.mjs +93 -0
  65. package/fesm2022/shival99-z-ui-components-z-toast.mjs.map +1 -0
  66. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs +660 -0
  67. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs.map +1 -0
  68. package/fesm2022/shival99-z-ui-components-z-upload.mjs +504 -0
  69. package/fesm2022/shival99-z-ui-components-z-upload.mjs.map +1 -0
  70. package/fesm2022/shival99-z-ui-i18n.mjs +258 -0
  71. package/fesm2022/shival99-z-ui-i18n.mjs.map +1 -0
  72. package/fesm2022/shival99-z-ui-pipes.mjs +116 -0
  73. package/fesm2022/shival99-z-ui-pipes.mjs.map +1 -0
  74. package/fesm2022/shival99-z-ui-providers.mjs +203 -0
  75. package/fesm2022/shival99-z-ui-providers.mjs.map +1 -0
  76. package/fesm2022/shival99-z-ui-services.mjs +919 -0
  77. package/fesm2022/shival99-z-ui-services.mjs.map +1 -0
  78. package/fesm2022/shival99-z-ui-utils.mjs +591 -0
  79. package/fesm2022/shival99-z-ui-utils.mjs.map +1 -0
  80. package/fesm2022/z-ui.mjs +3 -19924
  81. package/fesm2022/z-ui.mjs.map +1 -1
  82. package/package.json +132 -4
  83. package/types/shival99-z-ui-components-z-accordion.d.ts +55 -0
  84. package/types/shival99-z-ui-components-z-breadcrumb.d.ts +36 -0
  85. package/types/shival99-z-ui-components-z-button.d.ts +41 -0
  86. package/types/shival99-z-ui-components-z-calendar.d.ts +300 -0
  87. package/types/shival99-z-ui-components-z-checkbox.d.ts +84 -0
  88. package/types/shival99-z-ui-components-z-code.d.ts +35 -0
  89. package/types/shival99-z-ui-components-z-drawer.d.ts +232 -0
  90. package/types/shival99-z-ui-components-z-dropdown-menu.d.ts +50 -0
  91. package/types/shival99-z-ui-components-z-editor.d.ts +115 -0
  92. package/types/shival99-z-ui-components-z-filter.d.ts +268 -0
  93. package/types/shival99-z-ui-components-z-icon.d.ts +291 -0
  94. package/types/shival99-z-ui-components-z-input.d.ts +188 -0
  95. package/types/shival99-z-ui-components-z-loading.d.ts +46 -0
  96. package/types/shival99-z-ui-components-z-menu.d.ts +116 -0
  97. package/types/shival99-z-ui-components-z-modal.d.ts +270 -0
  98. package/types/shival99-z-ui-components-z-pagination.d.ts +52 -0
  99. package/types/shival99-z-ui-components-z-popover.d.ts +134 -0
  100. package/types/shival99-z-ui-components-z-radio.d.ts +63 -0
  101. package/types/shival99-z-ui-components-z-select.d.ts +268 -0
  102. package/types/shival99-z-ui-components-z-skeleton.d.ts +55 -0
  103. package/types/shival99-z-ui-components-z-switch.d.ts +48 -0
  104. package/types/shival99-z-ui-components-z-table.d.ts +482 -0
  105. package/types/shival99-z-ui-components-z-tabs.d.ts +75 -0
  106. package/types/shival99-z-ui-components-z-timeline.d.ts +98 -0
  107. package/types/shival99-z-ui-components-z-toast.d.ts +61 -0
  108. package/types/shival99-z-ui-components-z-tooltip.d.ts +85 -0
  109. package/types/shival99-z-ui-components-z-upload.d.ts +136 -0
  110. package/types/shival99-z-ui-i18n.d.ts +50 -0
  111. package/types/shival99-z-ui-pipes.d.ts +36 -0
  112. package/types/shival99-z-ui-providers.d.ts +132 -0
  113. package/types/shival99-z-ui-services.d.ts +364 -0
  114. package/types/shival99-z-ui-utils.d.ts +145 -0
  115. package/types/z-ui.d.ts +3 -4977
@@ -0,0 +1,48 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { ClassValue } from 'clsx';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+
7
+ type ZSwitchSize = 'sm' | 'default' | 'lg';
8
+
9
+ declare class ZSwitchComponent implements ControlValueAccessor {
10
+ readonly class: _angular_core.InputSignal<ClassValue>;
11
+ readonly zSize: _angular_core.InputSignal<ZSwitchSize>;
12
+ readonly zLabel: _angular_core.InputSignal<string>;
13
+ readonly zText: _angular_core.InputSignal<string>;
14
+ readonly zDisabled: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
15
+ readonly zTextPosition: _angular_core.InputSignal<"left" | "right">;
16
+ readonly zChecked: _angular_core.ModelSignal<boolean>;
17
+ readonly zChange: _angular_core.OutputEmitterRef<boolean>;
18
+ private readonly _disabled;
19
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
20
+ protected readonly hostClasses: _angular_core.Signal<string>;
21
+ protected readonly switchClasses: _angular_core.Signal<string>;
22
+ protected readonly thumbClasses: _angular_core.Signal<string>;
23
+ protected readonly labelClasses: _angular_core.Signal<string>;
24
+ protected readonly switchState: _angular_core.Signal<"checked" | "unchecked">;
25
+ private _onChange;
26
+ private _onTouched;
27
+ writeValue(value: boolean | null): void;
28
+ registerOnChange(fn: (value: boolean) => void): void;
29
+ registerOnTouched(fn: () => void): void;
30
+ setDisabledState(isDisabled: boolean): void;
31
+ protected onSwitchClick(): void;
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZSwitchComponent, never>;
33
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZSwitchComponent, "z-switch", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zTextPosition": { "alias": "zTextPosition"; "required": false; "isSignal": true; }; "zChecked": { "alias": "zChecked"; "required": false; "isSignal": true; }; }, { "zChecked": "zCheckedChange"; "zChange": "zChange"; }, never, never, true, never>;
34
+ }
35
+
36
+ declare const zSwitchVariants: (props?: ({
37
+ zSize?: "sm" | "default" | "lg" | null | undefined;
38
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
39
+ declare const zSwitchThumbVariants: (props?: ({
40
+ zSize?: "sm" | "default" | "lg" | null | undefined;
41
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
42
+ declare const zSwitchLabelVariants: (props?: ({
43
+ zSize?: "sm" | "default" | "lg" | null | undefined;
44
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
45
+ type ZSwitchVariants = VariantProps<typeof zSwitchVariants>;
46
+
47
+ export { ZSwitchComponent, zSwitchLabelVariants, zSwitchThumbVariants, zSwitchVariants };
48
+ export type { ZSwitchSize, ZSwitchVariants };
@@ -0,0 +1,482 @@
1
+ import * as _tanstack_angular_virtual from '@tanstack/angular-virtual';
2
+ import * as _tanstack_angular_table from '@tanstack/angular-table';
3
+ import { RowData, HeaderContext, CellContext, Row, ColumnPinningState, RowPinningState, SortingState, ColumnFiltersState, ExpandedState, RowSelectionState, VisibilityState, PaginationState, ColumnOrderState, createAngularTable, Column, Table, ColumnDef } from '@tanstack/angular-table';
4
+ import * as _angular_core from '@angular/core';
5
+ import { TemplateRef, Type, AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
6
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
7
+ import { NgScrollbar } from 'ngx-scrollbar';
8
+ import { ZSelectOption } from '@shival99/z-ui/components/z-select';
9
+ import * as _shival99_z_ui_components_z_tooltip from '@shival99/z-ui/components/z-tooltip';
10
+ import { ZTooltipConfig } from '@shival99/z-ui/components/z-tooltip';
11
+ import * as _shival99_z_ui_components_z_table from '@shival99/z-ui/components/z-table';
12
+
13
+ interface ZVirtualGroup {
14
+ startIndex: number;
15
+ endIndex: number;
16
+ rowCount: number;
17
+ height: number;
18
+ }
19
+ interface ZTableIconPart {
20
+ type: 'text' | 'icon';
21
+ value: string;
22
+ size?: number;
23
+ class?: string;
24
+ strokeWidth?: number;
25
+ }
26
+ type ZTableAlign = 'left' | 'center' | 'right';
27
+ type ZTableCellContent<T> = string | number | TemplateRef<{
28
+ $implicit: CellContext<T, unknown>;
29
+ }> | Type<unknown> | ((info: CellContext<T, unknown>) => string | number | TemplateRef<unknown>);
30
+ type ZTableHeaderContent<T> = string | TemplateRef<unknown> | Type<unknown> | (() => string) | ((info: HeaderContext<T, unknown>) => string);
31
+ type ZTableColumn<T = unknown> = ZTableColumnConfig<T>;
32
+ type ZTableFilterType = 'text' | 'number' | 'select' | 'multi-select' | 'date' | 'range' | 'tags';
33
+ type ZTableMode = 'local' | 'server';
34
+ interface ZTableSortConfig<T> {
35
+ enabled?: boolean;
36
+ mode?: ZTableMode;
37
+ sortKey?: string;
38
+ sortFn?: (rowA: Row<T>, rowB: Row<T>, columnId: string) => number;
39
+ }
40
+ type ZTableBuiltInFilterFn = 'equalsString' | 'includesString' | 'includesStringSensitive' | 'arrIncludes' | 'arrIncludesAll' | 'arrIncludesSome' | 'equals' | 'weakEquals' | 'inNumberRange';
41
+ type ZTableCustomFilterFn<T> = (row: Row<T>, columnId: string, filterValue: unknown, addMeta: (meta: unknown) => void) => boolean;
42
+ interface ZTableFilterConfig<T = unknown> {
43
+ enabled?: boolean;
44
+ mode?: ZTableMode;
45
+ type?: ZTableFilterType;
46
+ options?: ZSelectOption[];
47
+ allowClear?: boolean;
48
+ placeholder?: string;
49
+ filterFn?: ZTableBuiltInFilterFn | ZTableCustomFilterFn<T>;
50
+ }
51
+ interface ZTableSavedConfig {
52
+ columnOrder: string[];
53
+ columnSizing: Record<string, number>;
54
+ columnPinning: {
55
+ left?: string[];
56
+ right?: string[];
57
+ };
58
+ columnVisibility: Record<string, boolean>;
59
+ showHeaderFooterShadow: boolean;
60
+ showHorizontalBorder: boolean;
61
+ showVerticalBorder: boolean;
62
+ }
63
+ interface ZTableControl<T> {
64
+ updateConfig: (config: Partial<ZTableConfig<T>>) => void;
65
+ toggleSettings: () => void;
66
+ resetFilters: () => void;
67
+ resetSorting: () => void;
68
+ addItem: (item: T) => void;
69
+ updateItem: (id: string | number, updates: Partial<T>, fieldKey?: keyof T) => void;
70
+ deleteItem: (id: string | number, fieldKey?: keyof T) => void;
71
+ getItems: () => T[];
72
+ }
73
+ /** Header cell configuration */
74
+ interface ZTableHeaderColumnConfig<T> {
75
+ content?: ZTableHeaderContent<T>;
76
+ class?: string;
77
+ style?: Record<string, string>;
78
+ align?: ZTableAlign;
79
+ rowSpan?: number;
80
+ colSpan?: number;
81
+ tooltip?: string | ZTooltipConfig;
82
+ }
83
+ /** Body/data cell configuration */
84
+ interface ZTableBodyColumnConfig<T> {
85
+ content?: ZTableCellContent<T>;
86
+ class?: string | ((info: CellContext<T, unknown>) => string);
87
+ style?: Record<string, string> | ((info: CellContext<T, unknown>) => Record<string, string>);
88
+ align?: ZTableAlign;
89
+ rowSpan?: number | ((info: CellContext<T, unknown>) => number);
90
+ colSpan?: number | ((info: CellContext<T, unknown>) => number);
91
+ contentClass?: string | ((info: CellContext<T, unknown>) => string);
92
+ contentStyle?: Record<string, string> | ((info: CellContext<T, unknown>) => Record<string, string>);
93
+ tooltip?: string | ZTooltipConfig | ((info: CellContext<T, unknown>) => string | ZTooltipConfig);
94
+ }
95
+ /** Footer cell configuration */
96
+ interface ZTableFooterColumnConfig<T> {
97
+ content?: ZTableHeaderContent<T>;
98
+ class?: string;
99
+ style?: Record<string, string>;
100
+ align?: ZTableAlign;
101
+ rowSpan?: number;
102
+ colSpan?: number;
103
+ tooltip?: string | ZTooltipConfig;
104
+ }
105
+ interface ZTableColumnConfig<T> {
106
+ id: string;
107
+ visible?: boolean | (() => boolean);
108
+ accessorKey?: keyof T & string;
109
+ accessorFn?: (row: T) => unknown;
110
+ header?: ZTableHeaderColumnConfig<T> | ZTableHeaderContent<T>;
111
+ body?: ZTableBodyColumnConfig<T> | ZTableCellContent<T>;
112
+ footer?: ZTableFooterColumnConfig<T> | ZTableHeaderContent<T>;
113
+ size?: number;
114
+ minSize?: number;
115
+ maxSize?: number;
116
+ sort?: ZTableSortConfig<T> | boolean;
117
+ filter?: ZTableFilterConfig<T> | boolean;
118
+ enableResizing?: boolean;
119
+ enablePinning?: boolean;
120
+ enableHiding?: boolean;
121
+ pinned?: 'left' | 'right' | false;
122
+ columns?: ZTableColumnConfig<T>[];
123
+ }
124
+ interface ZTablePaginationConfig {
125
+ enabled?: boolean;
126
+ pageSize?: number;
127
+ pageIndex?: number;
128
+ pageSizeOptions?: number[];
129
+ showSizeChanger?: boolean;
130
+ showQuickJumper?: boolean;
131
+ showTotal?: boolean;
132
+ totalLabel?: string;
133
+ disabled?: boolean;
134
+ }
135
+ type ZTableEmitType = 'user' | 'auto';
136
+ interface ZTablePageChangeEvent {
137
+ pageIndex: number;
138
+ pageSize: number;
139
+ emitType: ZTableEmitType;
140
+ }
141
+ interface ZTableRowSelectEvent<T> {
142
+ row: T;
143
+ rowId: string;
144
+ selected: boolean;
145
+ selectedRows: T[];
146
+ selectedRowIds: string[];
147
+ }
148
+ interface ZTableRowSelectAllEvent<T> {
149
+ selected: boolean;
150
+ selectedRows: T[];
151
+ selectedRowIds: string[];
152
+ }
153
+ interface ZTableRowExpandEvent<T> {
154
+ row: T;
155
+ rowId: string;
156
+ expanded: boolean;
157
+ }
158
+ interface ZTableCellClickEvent<T> {
159
+ row: T;
160
+ rowId: string;
161
+ columnId: string;
162
+ value: unknown;
163
+ }
164
+ interface ZTableSortChangeEvent {
165
+ sorting: SortingState;
166
+ }
167
+ interface ZTableFilterChangeEvent {
168
+ filters: ColumnFiltersState;
169
+ search: string;
170
+ }
171
+ interface ZTableSearchChangeEvent {
172
+ search: string;
173
+ filters: ColumnFiltersState;
174
+ sorting: SortingState;
175
+ pagination: PaginationState;
176
+ }
177
+ type ZTableChangeType = 'page' | 'sort' | 'filter' | 'search' | 'select' | 'expand' | 'rowSelect' | 'rowSelectAll' | 'rowExpand' | 'cellClick';
178
+ interface ZTableChangeEventBase {
179
+ type: ZTableChangeType;
180
+ }
181
+ interface ZTablePageChange extends ZTableChangeEventBase {
182
+ type: 'page';
183
+ data: ZTablePageChangeEvent;
184
+ }
185
+ interface ZTableSortChange extends ZTableChangeEventBase {
186
+ type: 'sort';
187
+ data: ZTableSortChangeEvent;
188
+ }
189
+ interface ZTableFilterChange extends ZTableChangeEventBase {
190
+ type: 'filter';
191
+ data: ZTableFilterChangeEvent;
192
+ }
193
+ interface ZTableRowSelectChange<T> extends ZTableChangeEventBase {
194
+ type: 'rowSelect';
195
+ data: ZTableRowSelectEvent<T>;
196
+ }
197
+ interface ZTableRowSelectAllChange<T> extends ZTableChangeEventBase {
198
+ type: 'rowSelectAll';
199
+ data: ZTableRowSelectAllEvent<T>;
200
+ }
201
+ interface ZTableRowExpandChange<T> extends ZTableChangeEventBase {
202
+ type: 'rowExpand';
203
+ data: ZTableRowExpandEvent<T>;
204
+ }
205
+ interface ZTableCellClickChange<T> extends ZTableChangeEventBase {
206
+ type: 'cellClick';
207
+ data: ZTableCellClickEvent<T>;
208
+ }
209
+ interface ZTableSearchChange extends ZTableChangeEventBase {
210
+ type: 'search';
211
+ data: ZTableSearchChangeEvent;
212
+ }
213
+ interface ZTableSelectChange extends ZTableChangeEventBase {
214
+ type: 'select';
215
+ data: {
216
+ selection: RowSelectionState;
217
+ };
218
+ }
219
+ interface ZTableExpandChange extends ZTableChangeEventBase {
220
+ type: 'expand';
221
+ data: {
222
+ expanded: ExpandedState;
223
+ };
224
+ }
225
+ type ZTableChangeEvent<T> = ZTablePageChange | ZTableSortChange | ZTableFilterChange | ZTableSearchChange | ZTableSelectChange | ZTableExpandChange | ZTableRowSelectChange<T> | ZTableRowSelectAllChange<T> | ZTableRowExpandChange<T> | ZTableCellClickChange<T>;
226
+ interface ZTableInitialState {
227
+ columnPinning?: ColumnPinningState;
228
+ rowPinning?: RowPinningState;
229
+ sorting?: SortingState;
230
+ columnFilters?: ColumnFiltersState;
231
+ globalFilter?: string;
232
+ expanded?: ExpandedState;
233
+ rowSelection?: RowSelectionState;
234
+ columnVisibility?: VisibilityState;
235
+ pagination?: PaginationState;
236
+ }
237
+ interface ZTableVirtualConfig {
238
+ enabled: boolean;
239
+ rowHeight?: number;
240
+ overscan?: number;
241
+ groupSize?: number;
242
+ }
243
+ interface ZTableConfig<T> {
244
+ mode?: ZTableMode;
245
+ data: T[];
246
+ totalCount?: number;
247
+ columns: ZTableColumnConfig<T>[];
248
+ getRowId?: (row: T, index: number, parent: T | undefined, data: T[]) => string;
249
+ getSubRows?: (row: T, index: number, parent: T | undefined, data: T[]) => T[] | undefined;
250
+ totalRows?: number;
251
+ virtual?: ZTableVirtualConfig | boolean;
252
+ showHorizontalBorder?: boolean;
253
+ showVerticalBorder?: boolean;
254
+ showHeaderShadow?: boolean;
255
+ showFooterShadow?: boolean;
256
+ enableSettings?: boolean;
257
+ enableColumnResizing?: boolean;
258
+ enableRowPinning?: boolean;
259
+ enableMultiSort?: boolean;
260
+ enableSearch?: boolean;
261
+ enablePagination?: boolean;
262
+ enableColumnPinning?: boolean;
263
+ pagination?: ZTablePaginationConfig;
264
+ initialState?: ZTableInitialState;
265
+ loading?: boolean;
266
+ expandedRowTemplate?: TemplateRef<{
267
+ $implicit: Row<T>;
268
+ }>;
269
+ emptyTemplate?: TemplateRef<void>;
270
+ loadingTemplate?: TemplateRef<void>;
271
+ getRowCanExpand?: (row: Row<T>) => boolean;
272
+ maxHeight?: string;
273
+ minHeight?: string;
274
+ debounceTime?: number;
275
+ }
276
+ declare module '@tanstack/angular-table' {
277
+ interface TableMeta<TData extends RowData> {
278
+ updateData?: (rowIndex: number, columnId: string, value: unknown) => void;
279
+ }
280
+ }
281
+
282
+ declare class ZTableComponent<T> implements AfterViewInit {
283
+ readonly zConfig: _angular_core.InputSignal<ZTableConfig<T>>;
284
+ readonly zLoading: _angular_core.InputSignal<boolean>;
285
+ readonly zKey: _angular_core.InputSignal<string>;
286
+ readonly zChange: _angular_core.OutputEmitterRef<ZTableChangeEvent<T>>;
287
+ readonly zControl: _angular_core.OutputEmitterRef<ZTableControl<T>>;
288
+ private readonly _destroyRef;
289
+ private readonly _ngZone;
290
+ private readonly _isSyncingScroll;
291
+ private readonly _savedScrollLeft;
292
+ private _resizeObserver;
293
+ private _settingsDebounceTimeout;
294
+ private _filterEmitDebounceTimeout;
295
+ protected readonly isProcessing: _angular_core.WritableSignal<boolean>;
296
+ protected readonly theadWrapper: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
297
+ protected readonly tbodyContainer: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
298
+ protected readonly tbodyWrapper: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
299
+ protected readonly tbodyScrollbar: _angular_core.Signal<NgScrollbar | undefined>;
300
+ protected readonly tfootWrapper: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
301
+ protected readonly expandedRowTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
302
+ protected readonly columnPinning: _angular_core.WritableSignal<ColumnPinningState>;
303
+ protected readonly columnVisibility: _angular_core.WritableSignal<VisibilityState>;
304
+ protected readonly columnOrder: _angular_core.WritableSignal<ColumnOrderState>;
305
+ protected readonly expanded: _angular_core.WritableSignal<ExpandedState>;
306
+ protected readonly rowSelection: _angular_core.WritableSignal<RowSelectionState>;
307
+ protected readonly rowPinning: _angular_core.WritableSignal<RowPinningState>;
308
+ protected readonly columnFilters: _angular_core.WritableSignal<ColumnFiltersState>;
309
+ protected readonly globalFilter: _angular_core.WritableSignal<string>;
310
+ protected readonly pagination: _angular_core.WritableSignal<PaginationState>;
311
+ protected readonly sorting: _angular_core.WritableSignal<SortingState>;
312
+ private readonly _tanstackPagination;
313
+ protected readonly hasVerticalScroll: _angular_core.WritableSignal<boolean>;
314
+ protected readonly hasHorizontalScroll: _angular_core.WritableSignal<boolean>;
315
+ protected readonly showSettingsDrawer: _angular_core.WritableSignal<boolean>;
316
+ protected readonly showHorizontalBorder: _angular_core.WritableSignal<boolean>;
317
+ protected readonly showVerticalBorder: _angular_core.WritableSignal<boolean>;
318
+ protected readonly showHeaderFooterShadow: _angular_core.WritableSignal<boolean>;
319
+ protected readonly hasScrollLeft: _angular_core.WritableSignal<boolean>;
320
+ protected readonly hasScrollRight: _angular_core.WritableSignal<boolean>;
321
+ private readonly _columnPinVersion;
322
+ private readonly _dataForceUpdate;
323
+ protected readonly pinnedColumnIds: _angular_core.Signal<string[]>;
324
+ protected readonly pendingVisibleColumns: _angular_core.WritableSignal<string[]>;
325
+ protected readonly pendingColumnOrder: _angular_core.WritableSignal<string[]>;
326
+ protected readonly pendingShowHeaderFooterShadow: _angular_core.WritableSignal<boolean>;
327
+ protected readonly hasBodyRowSpan: _angular_core.Signal<boolean>;
328
+ protected readonly hasSelectColumn: _angular_core.Signal<boolean>;
329
+ protected readonly hasExpandColumn: _angular_core.Signal<boolean>;
330
+ protected readonly hasFiltering: _angular_core.Signal<boolean>;
331
+ protected readonly hasSorting: _angular_core.Signal<boolean>;
332
+ private readonly _data;
333
+ private readonly _columns;
334
+ protected readonly isVirtual: _angular_core.Signal<boolean>;
335
+ private readonly _virtualConfig;
336
+ protected readonly virtualRowHeight: _angular_core.Signal<number>;
337
+ protected readonly groupSize: _angular_core.Signal<number>;
338
+ protected readonly groupHeight: _angular_core.Signal<number>;
339
+ protected readonly dynamicGroups: _angular_core.Signal<ZVirtualGroup[]>;
340
+ protected readonly hasFooter: _angular_core.Signal<boolean>;
341
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
342
+ protected readonly isEmptyData: _angular_core.Signal<boolean>;
343
+ protected readonly isNoSearchResults: _angular_core.Signal<boolean>;
344
+ protected readonly orderedLeafColumns: _angular_core.Signal<_tanstack_angular_table.Column<T, unknown>[]>;
345
+ protected readonly orderedHeaderGroups: _angular_core.Signal<{
346
+ id: string;
347
+ headers: _tanstack_angular_table.Header<T, unknown>[];
348
+ }[]>;
349
+ protected readonly orderedFooterGroups: _angular_core.Signal<{
350
+ id: string;
351
+ depth: number;
352
+ headers: _tanstack_angular_table.Header<T, unknown>[];
353
+ }[]>;
354
+ protected readonly bottomRowsReversed: _angular_core.Signal<Row<T>[]>;
355
+ protected readonly totalWidth: _angular_core.Signal<number>;
356
+ protected readonly shouldHeaderShowShadow: _angular_core.Signal<boolean>;
357
+ protected readonly shouldFooterShowShadow: _angular_core.Signal<boolean>;
358
+ protected readonly dynamicGroupRows: _angular_core.Signal<Row<T>[][]>;
359
+ protected readonly dynamicGroupHeights: _angular_core.Signal<any[]>;
360
+ protected readonly columnSizing: _angular_core.Signal<_tanstack_angular_table.ColumnSizingState>;
361
+ protected readonly columnSizingInfo: _angular_core.Signal<_tanstack_angular_table.ColumnSizingInfoState>;
362
+ protected readonly columnSizeVars: _angular_core.Signal<Record<string, number>>;
363
+ protected readonly table: ReturnType<typeof createAngularTable<T>>;
364
+ private readonly _virtualGroupCount;
365
+ protected readonly virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
366
+ constructor();
367
+ ngAfterViewInit(): void;
368
+ private _handleRowSelectionWithParents;
369
+ private _runAsyncStateUpdate;
370
+ private _emitFilterChangeDebounced;
371
+ private _checkVerticalScroll;
372
+ private _checkHorizontalScroll;
373
+ private _updateScrollShadowState;
374
+ hasRightPinnedColumns(): boolean;
375
+ onTbodyScroll(event: Event): void;
376
+ private _syncScrollLeft;
377
+ handleSort(event: Event, handler?: (event: unknown) => void): void;
378
+ onColumnDrop(event: CdkDragDrop<string[]>): void;
379
+ onToggleAllColumns(): void;
380
+ onPageChange(event: {
381
+ pageIndex: number;
382
+ pageSize: number;
383
+ }, emitType?: 'user' | 'auto'): void;
384
+ onSearchChange(value: string | number | null): void;
385
+ toggleHeaderFooterShadow(): void;
386
+ openSettingsDrawer(): void;
387
+ onPendingColumnDrop(event: CdkDragDrop<string[]>): void;
388
+ onVisibleColumnsChange(values: (string | number)[]): void;
389
+ onToggleColumnVisibility(columnId: string): void;
390
+ onToggleColumnPin(columnId: string, position: 'left' | 'right'): void;
391
+ handleColumnPin(columnId: string, position: 'left' | 'right' | false): void;
392
+ private _saveConfig;
393
+ private _loadConfig;
394
+ private _findColumnConfig;
395
+ private _filterVisibleColumns;
396
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTableComponent<any>, never>;
397
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTableComponent<any>, "z-table", ["zTable"], { "zConfig": { "alias": "zConfig"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zKey": { "alias": "zKey"; "required": false; "isSignal": true; }; }, { "zChange": "zChange"; "zControl": "zControl"; }, never, never, true, never>;
398
+ }
399
+
400
+ declare class ZTableFilterComponent<T> implements OnDestroy {
401
+ readonly zColumn: _angular_core.InputSignal<Column<unknown, unknown>>;
402
+ readonly zTable: _angular_core.InputSignal<Table<T>>;
403
+ private _debounceTimeout;
404
+ private readonly _debounceMs;
405
+ private readonly _columnDef;
406
+ readonly filterType: _angular_core.Signal<_shival99_z_ui_components_z_table.ZTableFilterType | undefined>;
407
+ readonly columnFilterValue: _angular_core.Signal<unknown>;
408
+ readonly minValue: _angular_core.Signal<number | "">;
409
+ readonly maxValue: _angular_core.Signal<number | "">;
410
+ readonly rangeMinValue: _angular_core.Signal<any>;
411
+ readonly rangeMaxValue: _angular_core.Signal<any>;
412
+ readonly selectOptions: _angular_core.Signal<(ZSelectOption<unknown> | {
413
+ label: string;
414
+ value: string;
415
+ })[]>;
416
+ ngOnDestroy(): void;
417
+ onMinChangeDebounced(value: string | number | null): void;
418
+ onMaxChangeDebounced(value: string | number | null): void;
419
+ onTextChangeDebounced(value: string | number | null): void;
420
+ onSelectChange(value: unknown): void;
421
+ private _debounce;
422
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTableFilterComponent<any>, never>;
423
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTableFilterComponent<any>, "z-table-filter", never, { "zColumn": { "alias": "zColumn"; "required": true; "isSignal": true; }; "zTable": { "alias": "zTable"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
424
+ }
425
+
426
+ declare class ZTableIconTextComponent {
427
+ readonly zText: _angular_core.InputSignal<string>;
428
+ readonly zTooltip: _angular_core.InputSignal<string | ZTooltipConfig>;
429
+ protected readonly hostEl: any;
430
+ protected readonly parts: _angular_core.Signal<ZTableIconPart[]>;
431
+ protected readonly tooltipContent: _angular_core.Signal<string>;
432
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTableIconTextComponent, never>;
433
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTableIconTextComponent, "z-table-icon-text", never, { "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zTooltip": { "alias": "zTooltip"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
434
+ }
435
+
436
+ declare const isHeaderConfig: <T>(config: ZTableHeaderColumnConfig<T> | ZTableHeaderContent<T> | undefined) => config is ZTableHeaderColumnConfig<T>;
437
+ declare const isBodyConfig: <T>(config: ZTableBodyColumnConfig<T> | ZTableCellContent<T> | undefined) => config is ZTableBodyColumnConfig<T>;
438
+ declare const isFooterConfig: <T>(config: ZTableFooterColumnConfig<T> | ZTableHeaderContent<T> | undefined) => config is ZTableFooterColumnConfig<T>;
439
+ declare const getHeaderConfig: <T>(col: ZTableColumnConfig<T> | undefined) => {
440
+ content: ZTableHeaderContent<T> | undefined;
441
+ class: string | undefined;
442
+ style: Record<string, string> | undefined;
443
+ align: string | undefined;
444
+ tooltip: string | object | undefined;
445
+ rowSpan: number | undefined;
446
+ colSpan: number | undefined;
447
+ };
448
+ declare const getBodyConfig: <T>(col: ZTableColumnConfig<T> | undefined, ctx?: CellContext<T, unknown>) => {
449
+ content: ZTableCellContent<T> | undefined;
450
+ class: string | undefined;
451
+ style: Record<string, string> | undefined;
452
+ align: string | undefined;
453
+ rowSpan: number | undefined;
454
+ colSpan: number | undefined;
455
+ contentClass: string | undefined;
456
+ contentStyle: Record<string, string> | undefined;
457
+ tooltip: string | object | undefined;
458
+ } | {
459
+ content: ZTableCellContent<T> | undefined;
460
+ class: string | ((info: CellContext<T, unknown>) => string) | undefined;
461
+ style: Record<string, string> | undefined;
462
+ align: ZTableAlign | undefined;
463
+ rowSpan: number | undefined;
464
+ colSpan: number | undefined;
465
+ contentClass: string | ((info: CellContext<T, unknown>) => string) | undefined;
466
+ contentStyle: Record<string, string> | undefined;
467
+ tooltip: string | _shival99_z_ui_components_z_tooltip.ZTooltipConfig | ((info: CellContext<T, unknown>) => string | _shival99_z_ui_components_z_tooltip.ZTooltipConfig) | undefined;
468
+ };
469
+ declare const getFooterConfig: <T>(col: ZTableColumnConfig<T> | undefined) => {
470
+ content: ZTableHeaderContent<T> | undefined;
471
+ class: string | undefined;
472
+ style: Record<string, string> | undefined;
473
+ align: string | undefined;
474
+ tooltip: string | object | undefined;
475
+ rowSpan: number | undefined;
476
+ colSpan: number | undefined;
477
+ };
478
+ declare const findColumnConfig: <T>(columnId: string, columns: ZTableColumnConfig<T>[]) => ZTableColumnConfig<T> | undefined;
479
+ declare function columnConfigToColumnDef<T>(config: ZTableColumnConfig<T>): ColumnDef<T>;
480
+
481
+ export { ZTableComponent, ZTableFilterComponent, ZTableIconTextComponent, columnConfigToColumnDef, findColumnConfig, getBodyConfig, getFooterConfig, getHeaderConfig, isBodyConfig, isFooterConfig, isHeaderConfig };
482
+ export type { ZTableChangeEvent, ZTableColumn, ZTableColumnConfig, ZTableConfig, ZTableControl, ZTableFilterChangeEvent, ZTableFilterConfig, ZTableFilterType, ZTablePageChangeEvent, ZTablePaginationConfig, ZTableRowExpandEvent, ZTableRowSelectEvent, ZTableSavedConfig, ZTableSearchChangeEvent, ZTableSortChangeEvent, ZTableSortConfig };
@@ -0,0 +1,75 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef, AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
3
+ import { ClassValue } from 'clsx';
4
+ import { ZIcon } from '@shival99/z-ui/components/z-icon';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+ import { VariantProps } from 'class-variance-authority';
7
+
8
+ declare class ZTabPanelDirective {
9
+ readonly zTabPanel: _angular_core.InputSignal<string>;
10
+ readonly template: TemplateRef<any>;
11
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTabPanelDirective, never>;
12
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZTabPanelDirective, "[z-tab-panel], [zTabPanel]", ["zTabPanel"], { "zTabPanel": { "alias": "zTabPanel"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
13
+ }
14
+
15
+ interface ZTab {
16
+ label: string;
17
+ value: string;
18
+ icon?: ZIcon;
19
+ disabled?: boolean;
20
+ badge?: string | number;
21
+ template?: TemplateRef<unknown>;
22
+ }
23
+ type ZTabsVariant = 'line' | 'enclosed' | 'soft' | 'pill' | 'solid' | 'underline';
24
+ type ZTabsSize = 'sm' | 'default' | 'lg';
25
+ type ZTabsOrientation = 'horizontal' | 'vertical';
26
+
27
+ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
28
+ readonly tabPanels: _angular_core.Signal<readonly ZTabPanelDirective[]>;
29
+ readonly tabsListContainer: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
30
+ readonly tabButtons: _angular_core.Signal<readonly ElementRef<HTMLButtonElement>[]>;
31
+ readonly class: _angular_core.InputSignal<ClassValue>;
32
+ readonly zTabs: _angular_core.InputSignal<ZTab[]>;
33
+ readonly zVariant: _angular_core.InputSignal<ZTabsVariant>;
34
+ readonly zSize: _angular_core.InputSignal<ZTabsSize>;
35
+ readonly zOrientation: _angular_core.InputSignal<ZTabsOrientation>;
36
+ readonly zLazy: _angular_core.InputSignal<boolean>;
37
+ readonly activeTab: _angular_core.ModelSignal<string>;
38
+ readonly zTabChange: _angular_core.OutputEmitterRef<string>;
39
+ protected readonly loadedTabs: _angular_core.WritableSignal<Set<string>>;
40
+ protected readonly canScrollLeft: _angular_core.WritableSignal<boolean>;
41
+ protected readonly canScrollRight: _angular_core.WritableSignal<boolean>;
42
+ private _resizeObserver?;
43
+ constructor();
44
+ ngAfterViewInit(): void;
45
+ ngOnDestroy(): void;
46
+ protected readonly tabsClasses: _angular_core.Signal<string>;
47
+ protected getTabItemClasses(_tab: ZTab): string;
48
+ protected selectTab(tab: ZTab, scrollToView?: boolean): void;
49
+ protected isTabActive(tab: ZTab): boolean;
50
+ protected shouldRenderPanel(tabValue: string): boolean;
51
+ protected onTabKeydown(event: KeyboardEvent, currentIndex: number): void;
52
+ protected checkScroll(): void;
53
+ protected scrollLeft(): void;
54
+ protected scrollRight(): void;
55
+ protected onTabsScroll(): void;
56
+ private _setupResizeObserver;
57
+ protected scrollToActiveDropdownItem(): void;
58
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTabsComponent, never>;
59
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTabsComponent, "z-tabs", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTabs": { "alias": "zTabs"; "required": true; "isSignal": true; }; "zVariant": { "alias": "zVariant"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zLazy": { "alias": "zLazy"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; "zTabChange": "zTabChange"; }, ["tabPanels"], never, true, never>;
60
+ }
61
+
62
+ declare const zTabsVariants: (props?: ({
63
+ zVariant?: "line" | "enclosed" | "soft" | "pill" | "solid" | "underline" | null | undefined;
64
+ zOrientation?: "horizontal" | "vertical" | null | undefined;
65
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
66
+ declare const zTabItemVariants: (props?: ({
67
+ zVariant?: "line" | "enclosed" | "soft" | "pill" | "solid" | "underline" | null | undefined;
68
+ zSize?: "sm" | "default" | "lg" | null | undefined;
69
+ zOrientation?: "horizontal" | "vertical" | null | undefined;
70
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
71
+ type ZTabsVariants = VariantProps<typeof zTabsVariants>;
72
+ type ZTabItemVariants = VariantProps<typeof zTabItemVariants>;
73
+
74
+ export { ZTabPanelDirective, ZTabsComponent, zTabItemVariants, zTabsVariants };
75
+ export type { ZTab, ZTabItemVariants, ZTabsOrientation, ZTabsSize, ZTabsVariant, ZTabsVariants };