@shival99/z-ui 2.0.68 → 2.0.70

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shival99/z-ui",
3
- "version": "2.0.68",
3
+ "version": "2.0.70",
4
4
  "description": "Z-UI: Modern Angular UI Component Library - A comprehensive, high-performance design system built with Angular 20+, featuring 40+ customizable components with dark mode, accessibility, and enterprise-ready features.",
5
5
  "keywords": [
6
6
  "angular",
@@ -72,6 +72,12 @@ type ZTableCellContent<T> = string | number | TemplateRef<{
72
72
  type ZTableHeaderContent<T> = string | TemplateRef<unknown> | Type<unknown> | (() => string) | ((info: HeaderContext<T, unknown>) => string);
73
73
  /** Alias for ZTableColumnConfig — kept for backward compatibility */
74
74
  type ZTableColumn<T = unknown> = ZTableColumnConfig<T>;
75
+ interface ZTableGroupLabelContext<T> {
76
+ value: unknown;
77
+ columnId: string;
78
+ rows: Row<T>[];
79
+ }
80
+ type ZTableGroupLabelFormatter<T> = (context: ZTableGroupLabelContext<T>) => string;
75
81
  /** Available column filter value input hints */
76
82
  type ZTableFilterValueType = 'text' | 'number';
77
83
  type ZTableFilterUi = 'basic' | 'advanced' | 'custom';
@@ -346,6 +352,10 @@ interface ZTableColumnConfig<T> {
346
352
  enablePinning?: boolean;
347
353
  enableHiding?: boolean;
348
354
  enableOrdering?: boolean;
355
+ /** Whether this column can be used from the header "Group by" menu */
356
+ enableGrouping?: boolean;
357
+ /** Format the displayed group header value for this column */
358
+ groupLabel?: ZTableGroupLabelFormatter<T>;
349
359
  enableHeaderMenu?: boolean;
350
360
  /** Initial pin position — applied on first render */
351
361
  pinned?: 'left' | 'right' | false;
@@ -1175,6 +1185,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
1175
1185
  protected readonly serverGroupColumnId: _angular_core.Signal<string | null>;
1176
1186
  protected readonly activeGroupingColumnId: _angular_core.Signal<string | null>;
1177
1187
  protected readonly groupableColumnMap: _angular_core.Signal<Record<string, boolean>>;
1188
+ protected readonly groupingHeaderMenuMap: _angular_core.Signal<Record<string, boolean>>;
1178
1189
  protected readonly groupedCenterRowItems: _angular_core.Signal<ZTableGroupedRowItem<T>[]>;
1179
1190
  /** Local grouping: group được tính tại client từ rows của trang hiện tại. */
1180
1191
  private _buildLocalGroupedItems;
@@ -1247,9 +1258,13 @@ declare class ZTableComponent<T> implements AfterViewInit {
1247
1258
  protected readonly virtualCenterTotalWidth: _angular_core.Signal<number>;
1248
1259
  protected readonly virtualRightSpacerWidth: _angular_core.Signal<number>;
1249
1260
  protected readonly renderedColumnCount: _angular_core.Signal<number>;
1261
+ protected readonly renderedNativeColumnWidth: _angular_core.Signal<number>;
1262
+ protected readonly renderedTableWidth: _angular_core.Signal<number>;
1263
+ protected readonly nativeRenderedColumnSizeMap: _angular_core.Signal<Record<string, number>>;
1250
1264
  protected readonly orderedLeafColumns: _angular_core.Signal<Column<T, unknown>[]>;
1251
1265
  protected readonly fitColumnIds: _angular_core.Signal<string[]>;
1252
1266
  protected readonly hideableColumns: _angular_core.Signal<Column<T, unknown>[]>;
1267
+ protected readonly pendingColumnVisibilityDisabledMap: _angular_core.Signal<Record<string, boolean>>;
1253
1268
  protected readonly orderedHeaderGroups: _angular_core.Signal<{
1254
1269
  id: string;
1255
1270
  headers: _tanstack_angular_table.Header<T, unknown>[];
@@ -1266,6 +1281,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
1266
1281
  protected readonly virtualCenterHeaderRow: _angular_core.Signal<_tanstack_angular_table.Header<T, unknown>[]>;
1267
1282
  protected readonly shouldHeaderShowShadow: _angular_core.Signal<boolean>;
1268
1283
  protected readonly shouldFooterShowShadow: _angular_core.Signal<boolean>;
1284
+ protected readonly tbodyContainerWidth: _angular_core.WritableSignal<number>;
1269
1285
  protected readonly tbodyContainerHeight: _angular_core.WritableSignal<number>;
1270
1286
  protected readonly skeletonRowHeight: _angular_core.WritableSignal<number>;
1271
1287
  protected readonly skeletonRowCount: _angular_core.Signal<number>;
@@ -1439,6 +1455,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
1439
1455
  private _measureColumnContentWidth;
1440
1456
  private _defaultColumnPinning;
1441
1457
  private _setColumnPinning;
1458
+ private _moveGroupingColumnToLeadingDataPosition;
1442
1459
  private _areColumnIdListsEqual;
1443
1460
  moveColumnLeft(columnId: string): void;
1444
1461
  moveColumnRight(columnId: string): void;
@@ -1466,6 +1483,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
1466
1483
  private _filterServerModeColumnFilters;
1467
1484
  private _filterServerModeSorting;
1468
1485
  private _getGroupId;
1486
+ private _getColumnGroupLabel;
1469
1487
  private _getGroupLabel;
1470
1488
  private _getActionColumnConfig;
1471
1489
  /**