@shival99/z-ui 2.0.90 → 2.0.91

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.90",
3
+ "version": "2.0.91",
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",
@@ -317,6 +317,7 @@ interface ZTableFooterColumnConfig<T> {
317
317
  contentStyle?: Record<string, string> | ((info: HeaderContext<T, unknown>) => Record<string, string>);
318
318
  tooltip?: string | ZTooltipConfig;
319
319
  }
320
+ type ZTableFooterConfig<T> = ZTableFooterColumnConfig<T> | ZTableHeaderContent<T>;
320
321
  /**
321
322
  * Primary column definition — the consumer-facing API.
322
323
  * Converted to TanStack ColumnDef internally via `columnConfigToColumnDef()`.
@@ -339,7 +340,8 @@ interface ZTableColumnConfig<T> {
339
340
  accessorFn?: (row: T) => unknown;
340
341
  header?: ZTableHeaderColumnConfig<T> | ZTableHeaderContent<T>;
341
342
  body?: ZTableBodyColumnConfig<T> | ZTableCellContent<T>;
342
- footer?: ZTableFooterColumnConfig<T> | ZTableHeaderContent<T>;
343
+ /** Một cấu hình footer hoặc một cấu hình cho mỗi hàng footer. */
344
+ footer?: ZTableFooterConfig<T> | ZTableFooterConfig<T>[];
343
345
  size?: number;
344
346
  minSize?: number;
345
347
  maxSize?: number;
@@ -1142,6 +1144,11 @@ declare class ZTableComponent<T> implements AfterViewInit {
1142
1144
  private _columnConfigCache;
1143
1145
  private _lastColumnsRef;
1144
1146
  protected readonly pinnedColumnIds: _angular_core.Signal<string[]>;
1147
+ protected readonly pinAvailabilityMap: _angular_core.Signal<Record<string, {
1148
+ left: boolean;
1149
+ right: boolean;
1150
+ }>>;
1151
+ protected readonly isPinnedLayoutWithinContainer: _angular_core.Signal<boolean>;
1145
1152
  protected readonly pendingVisibleColumns: _angular_core.WritableSignal<string[]>;
1146
1153
  protected readonly pendingColumnOrder: _angular_core.WritableSignal<string[]>;
1147
1154
  protected readonly pendingShowHeaderFooterShadow: _angular_core.WritableSignal<boolean>;
@@ -1289,6 +1296,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
1289
1296
  depth: number;
1290
1297
  headers: _tanstack_angular_table.Header<T, unknown>[];
1291
1298
  }[]>;
1299
+ private _maxFooterArrayRows;
1292
1300
  protected readonly bottomRowsReversed: _angular_core.Signal<Row<T>[]>;
1293
1301
  protected readonly leftHeaderRow: _angular_core.Signal<_tanstack_angular_table.Header<T, unknown>[]>;
1294
1302
  protected readonly centerHeaderRow: _angular_core.Signal<_tanstack_angular_table.Header<T, unknown>[]>;
@@ -1458,6 +1466,8 @@ declare class ZTableComponent<T> implements AfterViewInit {
1458
1466
  onToggleColumnVisibility(columnId: string): void;
1459
1467
  onToggleColumnPin(columnId: string, position: 'left' | 'right'): void;
1460
1468
  handleColumnPin(columnId: string, position: 'left' | 'right' | false): void;
1469
+ private _canPinWithinViewport;
1470
+ private _getPinnedWidth;
1461
1471
  toggleColumnVisibility(columnId: string): void;
1462
1472
  refreshColumnPopoverPositions(...popovers: ZPopoverDirective[]): void;
1463
1473
  setActiveColumnVisibilityPopover(popover: ZPopoverDirective): void;
@@ -1623,7 +1633,7 @@ declare class ZTableActionsComponent<T = unknown> {
1623
1633
  readonly zConfig: _angular_core.InputSignal<ZTableActionColumnConfig<T>>;
1624
1634
  readonly zRow: _angular_core.InputSignal<T>;
1625
1635
  readonly zRowId: _angular_core.InputSignal<string>;
1626
- readonly zDropdownButtonSize: _angular_core.InputSignal<"default" | "sm" | "lg" | "xs" | "xl" | null | undefined>;
1636
+ readonly zDropdownButtonSize: _angular_core.InputSignal<"sm" | "default" | "lg" | "xs" | "xl" | null | undefined>;
1627
1637
  readonly zActionClick: _angular_core.OutputEmitterRef<ZTableActionClickEvent<T>>;
1628
1638
  protected readonly allActions: _angular_core.Signal<ZTableActionItem<T>[]>;
1629
1639
  protected readonly shouldShowAsButtons: _angular_core.Signal<boolean>;
@@ -1688,7 +1698,7 @@ declare const isHeaderConfig: <T>(config: ZTableHeaderColumnConfig<T> | ZTableHe
1688
1698
  /** Type guard: is this a full body config object (not just content shorthand)? */
1689
1699
  declare const isBodyConfig: <T>(config: ZTableBodyColumnConfig<T> | ZTableCellContent<T> | undefined) => config is ZTableBodyColumnConfig<T>;
1690
1700
  /** Type guard: is this a full footer config object (not just content shorthand)? */
1691
- declare const isFooterConfig: <T>(config: ZTableFooterColumnConfig<T> | ZTableHeaderContent<T> | undefined) => config is ZTableFooterColumnConfig<T>;
1701
+ declare const isFooterConfig: <T>(config: ZTableFooterConfig<T> | undefined) => config is ZTableFooterColumnConfig<T>;
1692
1702
  /** Extract and normalize header config from a column definition */
1693
1703
  declare const getHeaderConfig: <T>(col: ZTableColumnConfig<T> | undefined) => {
1694
1704
  content: ZTableHeaderContent<T> | undefined;
@@ -1740,7 +1750,7 @@ declare const getBodyConfig: <T>(col: ZTableColumnConfig<T> | undefined, ctx?: C
1740
1750
  contentStyle: Record<string, string> | undefined;
1741
1751
  tooltip: string | _shival99_z_ui_components_z_tooltip.ZTooltipConfig | ((info: CellContext<T, unknown>) => string | _shival99_z_ui_components_z_tooltip.ZTooltipConfig) | undefined;
1742
1752
  };
1743
- declare const getFooterConfig: <T>(col: ZTableColumnConfig<T> | undefined) => {
1753
+ declare const getFooterConfig: <T>(col: ZTableColumnConfig<T> | undefined, footerRowIndex?: number) => {
1744
1754
  content: ZTableHeaderContent<T> | undefined;
1745
1755
  class: string | undefined;
1746
1756
  style: Record<string, string> | undefined;