@shival99/z-ui 2.0.78 → 2.0.80

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.78",
3
+ "version": "2.0.80",
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",
@@ -1315,9 +1315,19 @@ declare class ZTableComponent<T> implements AfterViewInit {
1315
1315
  protected readonly showBulkBar: _angular_core.Signal<boolean>;
1316
1316
  protected readonly bulkBarPositions: ConnectedPosition[];
1317
1317
  private readonly _bulkBarExitDuration;
1318
+ /** Stable identity key per virtual index (row/group id, not array index) so cached measured
1319
+ * heights follow row identity — prevents height jitter when scrolling fast. */
1320
+ private readonly _virtualItemKeys;
1321
+ /** Estimate height learned from real rendered rows (dynamicSize); `virtual.size` is the fallback
1322
+ * until a row is measured. Lets not-yet-measured rows estimate close to reality, reducing layout
1323
+ * shift. Plain field (non-reactive) so updating it won't rebuild the virtualizer. */
1324
+ private _dynamicEstimateHeight;
1318
1325
  /** Virtualizer instance — operates on groups rather than individual rows */
1319
1326
  protected readonly virtualizer: _shival99_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
1320
1327
  private readonly _measureVirtualItems;
1328
+ /** Learn estimate height from rendered rows. Locks ONCE so the estimate doesn't jump every scroll
1329
+ * frame (each row is still measured exactly on render). Re-flows via virtualizer.measure(). */
1330
+ private _learnDynamicEstimate;
1321
1331
  private readonly _rowDragAutoScroll;
1322
1332
  private readonly _rowDragCellSelectionCleanup;
1323
1333
  constructor();
@@ -1614,7 +1624,7 @@ declare class ZTableActionsComponent<T = unknown> {
1614
1624
  readonly zConfig: _angular_core.InputSignal<ZTableActionColumnConfig<T>>;
1615
1625
  readonly zRow: _angular_core.InputSignal<T>;
1616
1626
  readonly zRowId: _angular_core.InputSignal<string>;
1617
- readonly zDropdownButtonSize: _angular_core.InputSignal<"sm" | "default" | "lg" | "xs" | "xl" | null | undefined>;
1627
+ readonly zDropdownButtonSize: _angular_core.InputSignal<"default" | "sm" | "lg" | "xs" | "xl" | null | undefined>;
1618
1628
  readonly zActionClick: _angular_core.OutputEmitterRef<ZTableActionClickEvent<T>>;
1619
1629
  protected readonly allActions: _angular_core.Signal<ZTableActionItem<T>[]>;
1620
1630
  protected readonly shouldShowAsButtons: _angular_core.Signal<boolean>;